openapi: 3.0.0 info: title: 'Akamai: API Endpoint Definition Access tokens Configuration version export API' version: '2' license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html description: 'Get comprehensive details about a security configuration version.' servers: - url: https://{hostname}/api-definitions/v2 tags: - description: 'Get comprehensive details about a security configuration version.' name: Configuration version export paths: /configs/{configId}/versions/{versionNumber}/export: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml x-akamai: file-path: paths/config-version-async-export.yaml path-info: /configs/{configId}/versions/{versionNumber}/export post: description: __All products__ Start an asynchronous export of a security configuration version. The response contains an `exportId` you can use to monitor progress and get the export data once it's ready. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/post-export-config-version-async-task operationId: post-export-config-version-async-task parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '202': content: application/json: example: createdBy: jkowalski@example.com createdDate: '2025-08-06T10:44:05.016608Z' exportId: '161' exportStatus: PENDING retryAfter: 60 statusLink: /appsec/v1/configs/24193/versions/39/export/161/status schema: additionalProperties: false description: Describes the response for an asynchronous export task. properties: createdBy: description: The user who launched the export task. minLength: 1 type: string createdDate: description: __Read-only__ ISO 8601 timestamp when the export request begins. format: date-time readOnly: true type: string expiresDate: description: ISO 8601 timestamp when the export result is deleted. format: date-time type: string exportId: description: Uniquely identifies each export task. type: string exportStatus: description: "__Read-only__ The status of the export, which can take several minutes to complete. \n* `PENDING` indicates the task is accepted and in progress. \n* `COMPLETED` means it finished successfully and the result can be retrieved. \n* `FAILED` means the task could not be processed." enum: - PENDING - COMPLETED - FAILED minLength: 1 readOnly: true type: string message: description: A message providing additional information about the export task. type: string resultLink: description: The URL for the operation to request the task result. format: uri type: string retryAfter: description: The estimated number of seconds until the task completes. type: integer statusLink: description: The URL for the operation to request the task status. format: uri type: string required: - exportId - exportStatus - createdDate - createdBy type: object x-akamai: file-path: schemas/export-async-status.yaml description: Successfully started exporting asynchronously. headers: Retry-After: description: The estimated number of seconds until the task completes. This header only appears for tasks still in progress. required: false schema: example: 60 type: integer x-akamai: file-path: headers/retry-after.yaml '403': content: application/problem+json: example: detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 403 title: Forbidden type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Forbidden](https://techdocs.akamai.com/application-security/reference/403). You aren''t authorized to run this operation.' x-akamai: file-path: errors/403.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The security configuration version to export wasn''t found.' x-akamai: file-path: errors/404.yaml '409': content: application/problem+json: example: detail: An export task is already running. Please wait for the previous export task ('161') to complete before submitting a new one. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/170237a02c617aa5 status: 409 title: Invalid Input Error type: https://problems.luna.akamaiapis.net/appsec/error-types/INVALID-INPUT-ERROR schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Conflict](https://techdocs.akamai.com/application-security/reference/409). Invalid export request. See the `details` field provided in the response for more information.' x-akamai: file-path: errors/409-export-task.yaml summary: Asynchronously export a configuration version tags: - Configuration version export x-akamai: labels: - All products /configs/{configId}/versions/{versionNumber}/export/{exportId}/result: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml - description: A unique identifier for each asynchronous export. in: path name: exportId required: true schema: example: 101 type: integer x-akamai: file-path: parameters/asynchronous-export-id.yaml x-akamai: file-path: paths/config-version-async-export-result.yaml path-info: /configs/{configId}/versions/{versionNumber}/export/{exportId}/result get: description: __All products__ Get a security configuration version's export data from a previously completed asynchronous task. This is only available when the task status is `COMPLETED`. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-export-config-version-async-result operationId: get-export-config-version-async-result parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: advancedOptions: asePenaltyBox: akamaiManagedExclusions: lastUpdated: '2025-02-01' rules: - '1000000' - '2000000' - '3000000' blockDuration: 10 clientIdentifiers: - ip-useragent qualificationExclusions: attackGroups: - XSS - IN rules: - 950002 requestCount: 1 ja4Fingerprint: headerNames: - test logging: allowSampling: true cookies: type: exclude values: - _updated_By_SoapUI - w - NEW_VAL_ADDED_BY_SoapUI customHeaders: type: only values: - '112' - sdasd - ds standardHeaders: type: only pragmaHeader: action: REMOVE conditionOperator: AND excludeCondition: - header: Expect positiveMatch: true type: requestHeaderValueMatch useHeaders: false value: - dasd valueCase: true valueWildcard: true - positiveMatch: true type: networkList useHeaders: true value: - 62569_AEPUAT1PARTNERSSTRICTWL valueCase: false valueWildcard: false override: true prefetch: allExtensions: false enableAppLayer: true enableRateControls: false extensions: - cgi - jsp - EMPTY_STRING - aspx - php - py - asp basedOn: 1 configId: 48579 configName: New Security Config createDate: '2017-09-08T22:24:41Z' createdBy: mrossi customDenyList: [] customRules: - conditions: - positiveMatch: true type: hostMatch value: - a.com - positiveMatch: true type: asNumberMatch useXForwardForHeaders: false value: - '1' id: 60032441 name: test operation: AND ruleActivated: false structured: true tag: - tag version: 1 errorHosts: - hostname: business.example.com reason: property is not active in either production or staging reasonCode: 400 - hostname: anotherhostname.example.com reason: You don't have access to this property reasonCode: 403 matchTargets: apiTargets: - apis: - id: 1041 name: hmm test bypassNetworkLists: - id: 1024_AMAZONELASTICCOMPUTECLOU name: Ec2 Akamai Network List - id: 1283_MICROSOFTWINDOWSAZUREDAT name: Azure IP range cloud services effectiveSecurityControls: applyApiConstraints: false applyApplicationLayerControls: false applyBotmanControls: false applyNetworkLayerControls: false applyRateControls: true applyReputationControls: false applySlowPostControls: false id: 1362597 securityPolicy: policyId: 99e_47293 sequence: 6 type: api - apis: - id: 1001 name: '1001' - id: 1041 name: hmm test bypassNetworkLists: - id: 11212_BYPASSURR name: bypass-URR effectiveSecurityControls: applyApiConstraints: true applyApplicationLayerControls: false applyBotmanControls: false applyNetworkLayerControls: true applyRateControls: false applyReputationControls: true applySlowPostControls: false id: 1362598 securityPolicy: policyId: '4444_44572' sequence: 7 type: api websiteTargets: - bypassNetworkLists: - id: 11212_BYPASSURR name: bypass-URR defaultFile: NO_MATCH effectiveSecurityControls: applyApiConstraints: true applyApplicationLayerControls: true applyBotmanControls: false applyNetworkLayerControls: false applyRateControls: true applyReputationControls: false applySlowPostControls: false fileExtensions: - jpg filePaths: - /path id: 1362593 isNegativeFileExtensionMatch: false isNegativePathMatch: false securityPolicy: policyId: qik3_38800 sequence: 1 type: website - defaultFile: NO_MATCH effectiveSecurityControls: applyApiConstraints: true applyApplicationLayerControls: true applyBotmanControls: false applyNetworkLayerControls: true applyRateControls: true applyReputationControls: true applySlowPostControls: false filePaths: - /images - /image1 - /path hostnames: - b2c.div1.akamaniac.com id: 1362594 isNegativeFileExtensionMatch: false isNegativePathMatch: false securityPolicy: policyId: qik2_38799 sequence: 2 type: website production: status: Inactive ratePolicies: - averageThreshold: 3 burstThreshold: 2 clientIdentifier: '' clientIdentifiers: [] createDate: '2017-09-08T22:24:42Z' id: 672601 matchType: path name: dsafsfdsf pathMatchType: RequestDisabled pathUriPositiveMatch: true queryParameters: - name: dasdasdasd* positiveMatch: true valueInRange: false values: - dasdasdas8*&^ requestType: ClientRequest sameActionOnIpv6: true type: BOTMAN updateDate: '2017-09-08T22:24:42Z' useXForwardForHeaders: false used: false - additionalMatchOptions: - positiveMatch: true type: NetworkListCondition values: - 25620_REPUTATIONALLOWLIST174 - 11212_BYPASSURR - positiveMatch: true type: RequestMethodCondition values: - GET - HTTP_DELETE - positiveMatch: true type: UserAgentCondition values: - MOZILLA - Googlebot - positiveMatch: true type: RequestMethodCondition values: - GET - POST - HEAD - positiveMatch: true type: ResponseStatusCondition values: - '400' - '401' - '402' - '403' - '404' - '405' - '406' - '407' - '408' - '409' - '410' - '500' - '501' - '502' - '503' - '504' averageThreshold: 1000 burstThreshold: 10 burstWindow: 3 clientIdentifier: ip condition: atomicConditions: - className: TlsFingerprintCondition positiveMatch: true value: - a797dc449ef113be - ba51ec8d71259a5b3c92d8787370e2c3 - className: ClientReputationCondition name: - DOSATCK - WEBATCK positiveMatch: true sharedIpHandling: BOTH value: 3 - className: RequestHeaderCondition name: - Accept - Content-Type nameWildcard: true positiveMatch: true value: - json - xml valueCase: false valueWildcard: true positiveMatch: true createDate: '2017-09-08T22:24:42Z' description: These Shared Resources will be available to all policies within the Security Configuration id: 672607 matchType: path name: These Shared Resources will be available to all policies within the Security Configuration pathMatchType: Custom pathUriPositiveMatch: true queryParameters: - name: param1 positiveMatch: false valueInRange: true values: - value1 requestType: ClientRequest sameActionOnIpv6: true type: WAF updateDate: '2017-09-08T22:24:42Z' useXForwardForHeaders: false used: true reputationProfiles: - context: SCANTL contextReadable: Scanning Tools enabled: true id: 210588 name: Scanning Tools (Low Threat) threshold: 5 - condition: atomicConditions: - className: RequestHeaderCondition index: 1 name: - test* nameWildcard: false positiveMatch: true value: - test* valueCase: false valueWildcard: false - className: RequestHeaderCondition index: 2 name: - Head - Header nameWildcard: true positiveMatch: true value: - Header value valueCase: false valueWildcard: true - checkIps: connecting className: NetworkListCondition index: 3 positiveMatch: true value: - 14121_IMAGEMANAGERSERVERS - className: RequestCookieCondition index: 4 name: cookieName nameCase: false nameWildcard: true positiveMatch: true value: - cookieValue valueCase: false valueWildcard: true - checkIps: connecting className: AsNumberCondition index: 5 positiveMatch: true value: - '5' canDelete: false configVersionId: 152889 id: 88112456 name: Cloned of 87956156 for version 152889 positiveMatch: true uuid: SEC_COND_88112456 version: 1504909482545 context: WEBATCK contextReadable: Web Attackers enabled: false id: 210578 name: Web Attackers (Low Threat) threshold: 5 rulesets: - attackGroups: - group: DDOS groupName: Anomaly Score Exceeded for DDoS threshold: 5 - group: IN groupName: Anomaly Score Exceeded for Inbound threshold: 30 - group: SQL groupName: Anomaly Score Exceeded for SQL Injection threshold: 19 - group: TROJAN groupName: Anomaly Score Exceeded for Trojan threshold: 4 - group: XSS groupName: Anomaly Score Exceeded for Cross-Site Scripting threshold: 9 id: 41 releaseDate: '2017-04-21T16:00:38Z' rules: - id: 699989 inspectRequestBody: false inspectResponseBody: false ruleVersion: 1 score: 5 tag: title: Akamai-X debug Pragma header detected and removed - id: 699990 inspectRequestBody: false inspectResponseBody: false ruleVersion: 1 score: 5 tag: title: Detected request from anonymous proxy - attackGroups: - SQL - IN id: 981252 inspectRequestBody: true inspectResponseBody: false ruleVersion: 4 score: 5 tag: title: MySQL Charset Switch and MSSQL DoS Attempts - attackGroups: - IN - DDOS id: 3000060 inspectRequestBody: true inspectResponseBody: false ruleVersion: 2 score: 1000 tag: title: Mirai / Kaiten DDoS Detection - HTTP Attacks - attackGroups: - XSS - IN id: 3000061 inspectRequestBody: true inspectResponseBody: false ruleVersion: 1 score: 5 tag: title: Referer Header From OpenBugBounty Website - Potential XSS rulesetVersionId: 327550 type: Kona securityPolicies: - hasRatePolicyWithApiKey: false id: D3M0_98231 ipGeoFirewall: block: blockSpecificIPGeo ukraineGeoControl: action: none name: demo lab1 penaltyBox: action: alert penaltyBoxProtection: true pragmaHeader: action: REMOVE conditionOperator: OR excludeCondition: - positiveMatch: false type: ipMatch useHeaders: false value: - 192.0.2.22 valueCase: false valueWildcard: false override: true rapidRules: defaultAction: alert enabled: true policyRules: - action: alert lock: false ruleId: 3000971 ruleVersion: 1 - action: deny group: CMD rulesetVersionId: 7092 - action: alert group: LFI rulesetVersionId: 7092 - action: alert group: RFI rulesetVersionId: 7092 - action: alert group: PLATFORM rulesetVersionId: 7092 threatIntel: 'on' ratePolicyActions: - id: 117696 ipv4Action: deny ipv6Action: deny securityControls: applyAccountProtectionControls: false applyApplicationLayerControls: true applyMalwareControls: false applyNetworkLayerControls: true applyRateControls: true applyReputationControls: false slowPost: action: alert durationThreshold: timeout: 20 slowRateThreshold: period: 60 rate: 10 selectableHosts: - www.example1.com - www.example2.com selectedHosts: - www.example3.com - www.example4.com siem: enableForAllPolicies: false enableSiem: true enabledBotmanSiemEvents: false exceptions: - actionTypes: - '*' protection: botmanagement - actionTypes: - alert protection: ipgeo - actionTypes: - alert protection: rate firewallPolicyIds: - qik2_38799 - '4444_44572' - teet_39295 - ds22_48583 siemDefinitionId: 1 staging: status: Inactive version: 2 schema: additionalProperties: false description: Contains details about an exported security configuration version. properties: advancedOptions: additionalProperties: false description: The logging and prefetch settings in the configuration version. properties: asePenaltyBox: additionalProperties: false description: The configuration version level settings for ASE Penalty Box. properties: akamaiManagedExclusions: additionalProperties: false description: Akamai Managed Exclusions for ASE Penalty Box. properties: lastUpdated: description: Last time the Akamai Managed Exclusions were updated. format: date type: string rules: description: Rules managed by Akamai in Akamai Managed Exclusions. items: type: string type: array readOnly: true type: object x-akamai: file-path: schemas/ase-pb-akamai-managed-exclusion.yaml blockDuration: description: Block duration for ASE Penalty Box. type: integer x-akamai: file-path: schemas/ase-pb-block-duration.yaml clientIdentifiers: description: Client identifiers for ASE Penalty Box. items: type: string readOnly: true type: array x-akamai: file-path: schemas/ase-pb-client-identifiers.yaml qualificationExclusions: additionalProperties: false description: Qualification Exclusions for ASE Penalty Box. properties: attackGroups: description: Attack groups in Qualification Exclusions for ASE Penalty Box. items: type: string type: array rules: description: Rules in Qualification Exclusions for ASE Penalty Box. items: type: integer type: array type: object x-akamai: file-path: schemas/ase-pb-qualification-exclusion.yaml requestCount: description: Request count for ASE Penalty Box. readOnly: true type: integer x-akamai: file-path: schemas/ase-pb-request-count.yaml required: - blockDuration type: object x-akamai: file-path: schemas/ase-penalty-box.yaml ja4Fingerprint: additionalProperties: false description: Contains the configuration version level settings for JA4 Client TLS Fingerprint. properties: headerNames: description: The header name where you add the JA4 client TLS fingerprint details. items: description: The header name. type: string maxItems: 1 minItems: 1 nullable: true type: array uniqueItems: true type: object x-akamai: file-path: schemas/ja4-client-tls-fingerprint-get-200.yaml logging: additionalProperties: false description: Contains the configuration version level settings for header logging. properties: allowSampling: description: Whether you enabled the header data sampling. type: boolean cookies: additionalProperties: false description: The sampling settings for the cookie data. properties: type: description: The directive for including cookies. Either `all` to include all cookies, `exclude` to exclude specific cookies, `none` not to include any cookies, or `only` to include only specific cookies. enum: - all - exclude - none - only type: string values: description: The cookie names to log or exclude. This applies only when the `type` is either `only` or `exclude`. items: type: string type: array required: - type - values type: object customHeaders: additionalProperties: false description: The sampling settings for the custom headers. properties: type: description: The directive for including custom headers. Either `all` to include all custom headers, `exclude` to exclude specific custom headers, `none` not to include any custom headers, or `only` to include only specific custom headers. enum: - all - exclude - none - only type: string values: description: The custom headers to log or exclude. This applies only when the `type` is either `only` or `exclude`. items: type: string type: array required: - type - values type: object standardHeaders: additionalProperties: false description: The sampling settings for the standard headers. properties: type: description: The directive for including standard headers. Either `all` to include all standard headers, `exclude` to exclude specific standard headers, `none` not to include any standard headers, or `only` to include only specific standard headers. enum: - all - exclude - none - only type: string values: description: The standard headers to log or exclude. This is applies only when the `type` is either `only` or `exclude`. For available header values, see [Export header values](https://techdocs.akamai.com/application-security/reference/hdval). items: enum: - Accept - Accept-Charset - Accept-Encoding - Accept-Language - Accept-Ranges - Access-Control-Allow-Origin - Age - Allow - Cache-Control - Connection - Content-Disposition - Content-Encoding - Content-Language - Content-Length - Content-Location - Content-MD5 - Content-Range - Content-Security-Policy - Content-Type - Date - DNT - Etag - Expect - Expires - From - Host - If-Match - If-Modified-Since - If-None-Match - If-Range - If-Unmodified-Since - Last-Modified - Link - Location - Max-Forwards - Origin - P3P - Pragma - Proxy-Authenticate - Range - Referer - Refresh - Retry-After - Server - Strict-Transport-Security - TE - Trailer - Transfer-Encoding - Upgrade - User-Agent - Vary - Via - Warning - WWW-Authenticate - X-Content-Security-Policy - X-Content-Type-Options - X-Forwarded-For - X-Forwarded-Proto - X-Frame-Options - X-Powered-By - X-Requested-With - X-UA-Compatible - X-WebKit-CSP - X-XSS-Protection type: string type: array required: - type type: object required: - allowSampling - cookies - customHeaders - standardHeaders type: object x-akamai: file-path: schemas/header-logging.yaml pragmaHeader: additionalProperties: false description: Contains the configuration version level settings for the `Pragma` header. properties: action: description: The action to perform when a user passes a `Pragma` header. The only action currently supported is `REMOVE`. enum: - REMOVE type: string conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string excludeCondition: description: The conditions to exclude from the default `remove` action. Any condition you set in this object appears in the `Pragma` header debug response object. items: additionalProperties: false properties: header: description: The name of the request header. In the example, `accept`. type: string name: description: The name of the request header to ignore from inspection. In the example, `type`. type: string positiveMatch: description: When `true`, matches the selected values. When `false`, matches on anything outside the selected values. type: boolean type: description: The header value you want to appear in the response. You can choose from `requestHeaderValueMatch`, `ipMatch`, `networkList`, or `queryParamNameValueMatch`. enum: - requestHeaderValueMatch - ipMatch - networkList - queryParamNameValueMatch type: string useHeaders: description: Whether the condition should include the `X-Forwarded-For` header (XFF) header. This only applies when the condition `type` is `IP_MATCH` or `NETWORK_LIST`. type: boolean value: description: List of header values, query parameter values, IP addresses, or names of network lists. To manage networks lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api). items: type: string type: array valueCase: description: Whether to consider the case-sensitivity of the provided header value. This only applies when the condition `type` is `REQUEST_HEADER_VALUE_MATCH`. type: boolean valueWildcard: description: Whether the provided header value includes wildcards, such as `*` or `?`. This only applies to the `REQUEST_HEADER_VALUE_MATCH` condition type. type: boolean required: - type - positiveMatch - value type: object type: array override: description: Whether `Pragma` header override is enabled or disabled. type: boolean required: - action type: object x-akamai: file-path: schemas/pragma-header.yaml prefetch: additionalProperties: false description: Contains the configuration version level prefetch settings. Use this object to apply application firewall rules and rate controls to prefetch requests. properties: allExtensions: description: Whether to enable the prefetch settings for all file extensions. This only applies if the `enableAppLayer` field is `true`. type: boolean enableAppLayer: description: Whether to enable the application layer rules for the prefetch requests. type: boolean enableRateControls: description: Whether to enable the rate controls for the prefetch requests. type: boolean extensions: description: The file extensions to apply the settings to. This only applies if the `enableAppLayer` field is `true`. items: type: string type: array required: - allExtensions - enableAppLayer - extensions - enableRateControls type: object requestBody: additionalProperties: false description: Contains the configuration version level settings for request body inspection limit. properties: requestBodyInspectionLimitInKB: description: Request body size in KB, either `8`, `16`, or `32` as string-formatted integers, or `default` to use Akamai's best practice value. enum: - '8' - '16' - '32' - default type: string type: object x-akamai: file-path: schemas/request-body.yaml required: - logging - prefetch type: object x-akamai: file-path: schemas/export-advanced-options.yaml basedOn: description: The version from which you cloned this version. If it's the first version, this field is omitted from the response. type: integer configId: description: Uniquely identifies each security configuration. type: integer configName: description: The name that you assign to the security configuration. type: string createDate: description: The date when you created the security configuration. type: string createdBy: description: The user who created the configuration version. type: string customDenyList: description: The list of custom deny actions in the configuration version. items: additionalProperties: false description: Contains details about custom deny actions. properties: customDenyList: description: A list of custom deny actions in this configuration version. items: additionalProperties: false description: Contains details about a custom deny action. properties: description: description: Describes the custom deny action. type: string id: description: __Read-only__ Uniquely identifies the custom deny action. readOnly: true type: string name: description: The name you assigned to the custom deny action. type: string parameters: description: Describes the custom deny parameters. items: additionalProperties: false description: Contains a list of parameters for the custom deny action. These parameters are not the same type of parameters you usually include in the path of a request. properties: displayName: description: The description of the custom deny parameter. type: string name: description: The custom deny parameter you choose instead of the Akamai default response. For available values, see [Deny name values](https://techdocs.akamai.com/application-security/reference/deny-name-values). enum: - response_status_code - prevent_browser_cache - response_content_type - response_body_content - response_header_name - response_header_value - custom_deny_hostname - custom_deny_path - include_true_ip - include_reference_id type: string value: description: The value you assign to the custom deny parameter. For available values, see [Deny name values](https://techdocs.akamai.com/application-security/reference/deny-name-values). type: string required: - name - value type: object type: array required: - name - parameters type: object x-akamai: file-path: schemas/custom-deny.yaml type: array type: object x-akamai: file-path: schemas/custom-denies.yaml type: array customRules: description: The custom rule details in the configuration version. items: additionalProperties: false description: Contains custom rule settings of the exported security configuration. properties: conditions: description: Contains the details about the condition that triggers the custom rule. items: additionalProperties: false properties: positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The type of condition. See [CustomRule condition type values](https://techdocs.akamai.com/application-security/reference/condition-type-values). enum: - cookieMatch - extensionMatch - filenameMatch - ipMatch - pathMatch - requestHeaderMatch - requestMethodMatch - requestProtocolVersionMatch - uriQueryMatch - headerOrderMatch - argsPostMatch - argsPostJSONMatch - argsPostJSONNamesMatch - argsPostXMLMatch - argsPostNamesMatch - clientCertPresentMatch - clientCertValidMatch - clientTlsFingerprintMatch - hostMatch - ipAddressMatch - geoMatch - asNumberMatch - clientListMatch type: string useXForwardForHeaders: description: Whether the condition includes `X-Forwarded-For` (XFF) header. This only applies when the `type` is `ipAddressMatch`, `geoMatch`, or `asNumberMatch`. type: boolean value: description: The value that triggers the condition when matched or not matched. The `value` can either be a string or an array. oneOf: - description: The value that triggers the condition when matched or not matched. The `value` can either be a string or an array. items: type: string title: Array type: array - description: The value that triggers the condition when matched or not matched. The `value` can either be a string or an array. title: String type: string required: - type - positiveMatch - value type: object type: array description: description: The custom rule description. type: string id: description: __Read-only__ Uniquely identifies the rule. readOnly: true type: integer inspectRequest: description: __Read-only__ Whether to inspect the HTTP request for unstructured custom rules. readOnly: true type: boolean inspectResponse: description: __Read-only__ Whether to inspect the HTTP response for unstructured custom rules. readOnly: true type: boolean loggingOptions: description: The specific conditions to be logged. items: additionalProperties: false description: Condition to be logged. properties: id: description: The unique identifier for each logging option. See [Logging option values](https://techdocs.akamai.com/application-security/reference/logging-option-values). enum: - CLIENT_TLS_FINGERPRINT_MATCH - HEADER_ORDER_MATCH - REQUEST_HEADER_MATCH - COOKIE_MATCH - URI_QUERY_MATCH - ARGS_POST_MATCH type: string name: description: A description of the logging option type. type: string value: description: The value on which to match when determining whether to log the custom rule condition. type: string required: - id type: object x-akamai: file-path: schemas/logging-option.yaml type: array metadata: description: __Read-only__ The metadata you provided for unstructured custom rules. readOnly: true type: string name: description: The custom rule name. type: string operation: description: 'Set to `OR` to match on any condition, or set to `AND` to match all of them. - `AND`: All conditions in the custom rule must be true for the rule to be applied. - `OR`: At least one condition in the custom rule must be true for the rule to be applied.' enum: - AND - OR type: string ruleActivated: description: __Read-only__ Whether the rule is active in the configuration. readOnly: true type: boolean stagingOnly: description: Whether to show traffic from only the staging network, or all traffic. The default setting is `false` and only shows in the response when `true`. type: boolean structured: description: __Read-only__ Whether you created the rule with the structured custom rule builder or free-form XML. readOnly: true type: boolean tag: description: The list of the labels you assigned to the custom rule. items: type: string type: array version: description: The custom rule version. type: integer required: - name type: object x-akamai: file-path: schemas/export-custom-rules.yaml type: array errorHosts: description: Specifies the set of hostnames unavailable for protection in this configuration version. items: additionalProperties: false properties: hostname: description: The hostname unavailable for protection. type: string reason: description: Describes why WAF can't protect the hostname. type: string reasonCode: description: The HTTP error code indicating why WAF can't protect the hostname. type: integer required: - hostname - reason - reasonCode type: object type: array evaluating: additionalProperties: false description: Describes security controls and information for hostnames you want to evaluate. properties: securityPolicies: description: The evaluation policy details in the configuration version. items: additionalProperties: false description: Contains details about the Evaluation Policy settings in the exported configuration version. properties: effectiveSecurityControls: additionalProperties: false description: __Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy. properties: applyApiConstraints: description: Whether you enabled API constraints. type: boolean applyApplicationLayerControls: description: Whether you enabled application layer controls. type: boolean applyBotmanControls: description: Whether you enabled Bot Manager controls. type: boolean applyNetworkLayerControls: description: Whether you enabled network layer controls. type: boolean applyRateControls: description: Whether you enabled rate controls. type: boolean applyReputationControls: description: Whether you enabled reputation controls. type: boolean applySlowPostControls: description: Whether you enabled slow post controls. type: boolean readOnly: true required: - applyApplicationLayerControls - applyNetworkLayerControls - applyRateControls - applyReputationControls - applyBotmanControls - applyApiConstraints - applySlowPostControls type: object x-akamai: file-path: schemas/security-controls.yaml hostnames: description: The evaluation hostnames in the configuration version. items: type: string type: array id: description: Security Policy ID. type: string required: - effectiveSecurityControls - id - hostnames type: object x-akamai: file-path: schemas/export-eval-policy.yaml type: array type: object malwarePolicies: description: The malware policy details for a configuration version. items: additionalProperties: false description: Contains details about a malware policy. properties: allowListId: description: The ID of a client list containing file hashes of specific files to allow. type: string blockListId: description: The ID of a client list containing file hashes of specific files to block. type: string contentTypes: description: The content types and encodings to match. items: additionalProperties: false properties: encodedContentAttributes: description: An optional list of encoded attribute paths. items: additionalProperties: false properties: encoding: description: The encodings used for the attribute path. Currently only `base64` is supported. items: enum: - base64 type: string type: array path: description: The JSONPath to an attribute with encoded content. The path must point to a single item, and may not include the `$`, `..`, `?` or `*` operators. type: string type: object type: array name: description: The name of the content type. type: string required: - name type: object type: array description: description: Descriptive text you provide about a policy. type: string hostnames: description: The hostnames to match. This is where you want the malware detections to focus. items: type: string type: array id: description: __Read-only__ Uniquely identifies each malware policy. readOnly: true type: integer logFilename: default: false description: Whether to log the name of the file that triggered an `alert` or `deny` action. type: boolean name: description: The name you assign to a malware policy. type: string paths: description: The paths to match. You can use the `?` and `*` wildcards anywhere in a path. items: type: string type: array required: - name - hostnames - paths type: object x-akamai: file-path: schemas/malware-policy.yaml type: array matchTargets: additionalProperties: false description: The match target details in the configuration version. properties: apiTargets: description: The list of `api` match targets. items: additionalProperties: false description: Contains details about a match target in the exported configuration version. properties: apis: description: The list of API endpoint identifiers and names. This applies only for `api` match targets. items: additionalProperties: false properties: id: description: Uniquely identifies the API endpoint. type: integer name: description: The API endpoint name. type: string required: - id type: object type: array bypassNetworkLists: description: The network lists' identifiers and names in the match target. items: additionalProperties: false properties: id: description: Uniquely identifies the network list. type: string name: description: The name you assigned to the network list. type: string required: - id type: object type: array defaultFile: default: NO_MATCH description: Describes the rule to match on paths. Either `NO_MATCH` not to match on the default file, `BASE_MATCH` to match only requests for top-level hostnames ending in a trailing slash, or `RECURSIVE_MATCH` to match all requests for paths that end in a trailing slash. The default value is `NO_MATCH`. enum: - NO_MATCH - BASE_MATCH - RECURSIVE_MATCH type: string effectiveSecurityControls: additionalProperties: false description: __Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy. properties: applyApiConstraints: description: Whether you enabled API constraints. type: boolean applyApplicationLayerControls: description: Whether you enabled application layer controls. type: boolean applyBotmanControls: description: Whether you enabled Bot Manager controls. type: boolean applyNetworkLayerControls: description: Whether you enabled network layer controls. type: boolean applyRateControls: description: Whether you enabled rate controls. type: boolean applyReputationControls: description: Whether you enabled reputation controls. type: boolean applySlowPostControls: description: Whether you enabled slow post controls. type: boolean readOnly: true required: - applyApplicationLayerControls - applyNetworkLayerControls - applyRateControls - applyReputationControls - applyBotmanControls - applyApiConstraints - applySlowPostControls type: object x-akamai: file-path: schemas/security-controls.yaml fileExtensions: description: The list of file extensions to apply the match target to. items: type: string type: array filePaths: description: The list of file paths to apply the match target to. items: type: string type: array hostnames: description: The list of hostnames to protect. items: type: string type: array id: description: Uniquely identifies the match target. type: integer isNegativeFileExtensionMatch: description: Whether the match target applies when a match is found in the specified `fileExtensions` or when a match isn't found. type: boolean isNegativePathMatch: description: Whether the match target applies when a match is found in the specified `filePaths` or when a match isn't found. type: boolean securityPolicy: additionalProperties: false description: The security policy associated with the match target. properties: policyId: description: Uniquely identifies the security policy. type: string required: - policyId type: object sequence: description: The match target's position in the sequence of match targets. type: integer type: description: The type of match target. Either `website` or `api`. enum: - website - api type: string validations: additionalProperties: false description: __Read-only__ Contains details about warnings, errors, or notices determined by a validation of this resource. properties: errors: description: The list of errors. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array notices: description: The list of notices. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array warnings: description: The list of warnings. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array readOnly: true required: - notices - errors - warnings type: object x-akamai: file-path: schemas/validations.yaml required: - type - securityPolicy type: object x-akamai: file-path: schemas/export-match-target.yaml type: array websiteTargets: description: The list of `website` match targets. items: additionalProperties: false description: Contains details about a match target in the exported configuration version. properties: apis: description: The list of API endpoint identifiers and names. This applies only for `api` match targets. items: additionalProperties: false properties: id: description: Uniquely identifies the API endpoint. type: integer name: description: The API endpoint name. type: string required: - id type: object type: array bypassNetworkLists: description: The network lists' identifiers and names in the match target. items: additionalProperties: false properties: id: description: Uniquely identifies the network list. type: string name: description: The name you assigned to the network list. type: string required: - id type: object type: array defaultFile: default: NO_MATCH description: Describes the rule to match on paths. Either `NO_MATCH` not to match on the default file, `BASE_MATCH` to match only requests for top-level hostnames ending in a trailing slash, or `RECURSIVE_MATCH` to match all requests for paths that end in a trailing slash. The default value is `NO_MATCH`. enum: - NO_MATCH - BASE_MATCH - RECURSIVE_MATCH type: string effectiveSecurityControls: additionalProperties: false description: __Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy. properties: applyApiConstraints: description: Whether you enabled API constraints. type: boolean applyApplicationLayerControls: description: Whether you enabled application layer controls. type: boolean applyBotmanControls: description: Whether you enabled Bot Manager controls. type: boolean applyNetworkLayerControls: description: Whether you enabled network layer controls. type: boolean applyRateControls: description: Whether you enabled rate controls. type: boolean applyReputationControls: description: Whether you enabled reputation controls. type: boolean applySlowPostControls: description: Whether you enabled slow post controls. type: boolean readOnly: true required: - applyApplicationLayerControls - applyNetworkLayerControls - applyRateControls - applyReputationControls - applyBotmanControls - applyApiConstraints - applySlowPostControls type: object x-akamai: file-path: schemas/security-controls.yaml fileExtensions: description: The list of file extensions to apply the match target to. items: type: string type: array filePaths: description: The list of file paths to apply the match target to. items: type: string type: array hostnames: description: The list of hostnames to protect. items: type: string type: array id: description: Uniquely identifies the match target. type: integer isNegativeFileExtensionMatch: description: Whether the match target applies when a match is found in the specified `fileExtensions` or when a match isn't found. type: boolean isNegativePathMatch: description: Whether the match target applies when a match is found in the specified `filePaths` or when a match isn't found. type: boolean securityPolicy: additionalProperties: false description: The security policy associated with the match target. properties: policyId: description: Uniquely identifies the security policy. type: string required: - policyId type: object sequence: description: The match target's position in the sequence of match targets. type: integer type: description: The type of match target. Either `website` or `api`. enum: - website - api type: string validations: additionalProperties: false description: __Read-only__ Contains details about warnings, errors, or notices determined by a validation of this resource. properties: errors: description: The list of errors. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array notices: description: The list of notices. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array warnings: description: The list of warnings. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array readOnly: true required: - notices - errors - warnings type: object x-akamai: file-path: schemas/validations.yaml required: - type - securityPolicy type: object x-akamai: file-path: schemas/export-match-target.yaml type: array required: - apiTargets - websiteTargets type: object x-akamai: file-path: schemas/export-match-targets.yaml production: additionalProperties: false description: Specifies the configuration version's activation status on the production network. properties: action: description: The action you performed on the configuration version. Either `ACTIVATE` or `DEACTIVATE`. enum: - ACTIVATE - DEACTIVATE type: string status: description: The activation status. Either `Pending`, `Active`, `Inactive`, `Deactivated`, or `Failed`. enum: - Pending - Active - Inactive - Deactivated - Failed type: string time: description: The ISO 8601 timestamp when you activated the configuration version. type: string required: - status type: object ratePolicies: description: The rate policy details in the configuration version. items: additionalProperties: false description: Contains details about a rate policy. properties: additionalMatchOptions: description: The list of additional match conditions. items: additionalProperties: false properties: positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The match condition type. The `RequestHeaderCondition` listed here is deprecated. Specify `RequestHeaderCondition` as an `atomicCondition` to match on request headers. See [Export match condition type values](https://techdocs.akamai.com/application-security/reference/cndval). enum: - IpAddressCondition - NetworkListCondition - RequestHeaderCondition - RequestMethodCondition - ResponseHeaderCondition - ResponseStatusCondition - UserAgentCondition - AsNumberCondition type: string values: description: The list of values that trigger the condition on match. items: type: string type: array required: - type - positiveMatch - values type: object type: array apiSelectors: description: The API endpoints to match in incoming requests. This only applies to the `api` `matchType`. items: additionalProperties: false properties: apiDefinitionId: description: Uniquely identifies each API endpoint. type: integer definedResources: description: When `true`, match on any resource explicitly added to your API definition without including a `resourceId`. When `false`, you'll need to pass a `resourceId`. type: boolean resourceIds: description: The unique identifiers of the endpoint's resources. items: type: integer type: array undefinedResources: description: When `true`, match on any resource you have not explicitly added to your API definition without including a `resourceId`. When `false`, you'll need to pass a `resourceId`. type: boolean required: - apiDefinitionId type: object type: array averageThreshold: description: The allowed hits per second during any two-minute interval. minimum: 1 type: integer bodyParameters: description: The list of body parameters to match on. items: additionalProperties: false properties: name: description: The name you assign to a body parameter. type: string positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean valueInRange: description: Whether to match a value inside or outside a range. The range format is `min:max` — for example, `2:4`. type: boolean values: description: The body parameter values. items: type: string type: array required: - name - values - positiveMatch type: object type: array burstThreshold: description: The allowed hits per second during any five-second interval. minimum: 1 type: integer burstWindow: description: The time span for the `burstThreshold` interval. For existing rate policies, analyze your traffic in Alert mode before you reduce the measure window from 5 seconds. [Learn more about thresholds here](https://techdocs.akamai.com/kona-site-defender/docs/rate-thresholds). maximum: 5 minimum: 1 type: integer clientIdentifier: deprecated: true description: __Deprecated__ The client identifier you want to use to identify and track request senders. The value is required only for WAF type, and `api-key` is supported only for API match criteria. Using `ip-useragent` is typically more specific than using `ip` alone when trying to identify a client. Tracking by `cookie:value` applies to requests per individual session, even if the IP address changes. This field will be removed in future releases. Use `clientIdentifiers` instead. minLength: 0 type: string x-akamai: status: DEPRECATED clientIdentifiers: description: Client identifiers to track request senders. The value is required only for WAF type, and `api-key` is supported only for API match criteria. Using `ip-useragent` is typically more specific than using `ip` alone when trying to identify a client. Tracking by `cookie:value` applies to requests per individual session, even if the IP address changes. Specify `request-header:value` to track by a named request header, like `User-Agent`. Use `query-string:value` to track by a specific named query parameter. The `tls-fingerprint` identifier is available for traffic transmitted using secure transport (HTTPS). items: enum: - api-key - cookie:value - ip - request-header:value - tls-fingerprint - query-string:value type: string minItems: 0 type: array condition: additionalProperties: false description: Contains information about the criteria that trigger the rate policy. properties: atomicConditions: description: The conditions that trigger the rate policy. Specify one or more request headers, TLS fingerprints, or client reputation categories. items: oneOf: - additionalProperties: false description: Collects data needed for condition matches on request headers. properties: className: description: The type of condition. The `RequestHeaderCondition` type checks for a header from the requesting client and determines if it matches a provided header. This subtype supports the `?` wildcard to match any single character and the `*` wildcard to match any sequence of 0 or more characters. You can also match on case sensitivity. enum: - RequestHeaderCondition type: string name: description: A header name. Use `name` to check whether the specified header exists. items: minLength: 1 type: string minItems: 1 type: array uniqueItems: true nameWildcard: description: Whether to interpret `?` and `*` as wildcards. type: boolean positiveMatch: description: Whether the condition triggers on a match or lack of match. type: boolean value: description: A list of unique header values. Use both `value` and `name` to check whether the requesting client’s header matches a provided header. items: minLength: 1 type: string nullable: true type: array uniqueItems: true valueCase: description: Whether to consider the case sensitivity of the provided header values. type: boolean valueWildcard: description: Whether to interpret `?` and `*` as wildcards. type: boolean required: - className - name title: RequestHeaderCondition type: object x-akamai: file-path: schemas/request-header-condition-2.yaml - additionalProperties: false description: Collects data needed for condition matches on TLS fingerprints. properties: className: description: The type of condition. In this case, `TlsFingerprintCondition`. enum: - TlsFingerprintCondition type: string positiveMatch: description: Whether the condition triggers on a match or lack of match. type: boolean value: description: A list of unique TLS fingerprints. items: minLength: 1 type: string minItems: 1 type: array uniqueItems: true required: - className - value title: TlsFingerprintCondition type: object x-akamai: file-path: schemas/tls-fingerprint-condition.yaml - additionalProperties: false description: Collects data needed for condition matches on Client Reputation. properties: className: description: The type of condition. In this case, `ClientReputationCondition`. enum: - ClientReputationCondition type: string name: description: Identifies the reputation category. Web scrapers (`WEBSCRP`) crawl sites and collect data like hotel rates, product prices, store locations, and more. DoS attackers (`DOSATCK`) are web clients or botnets that use automated tools to launch volumetric Denial of Service (DoS) attacks. Web attackers (`WEBATCK`) target websites and web apps with techniques like SQL injection, remote file inclusion, or cross-site scripting. Scanning tools (`SCANTL`) probe web apps for vulnerabilities during an attack's reconnaissance phase. items: enum: - WEBSCRP - DOSATCK - WEBATCK - SCANTL type: string minItems: 1 type: array uniqueItems: true positiveMatch: description: Whether the condition triggers on a match or lack of match. type: boolean sharedIpHandling: description: Identifies the IP sharing. Either `NON_SHARED`, `SHARED_ONLY`, `BOTH`. enum: - NON_SHARED - SHARED_ONLY - BOTH type: string value: description: Threshold value that causes the trigger. maximum: 10 minimum: 1 type: number required: - className - name - value - sharedIpHandling title: ClientReputationCondition type: object x-akamai: file-path: schemas/client-reputation-condition.yaml minItems: 1 type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: object counterType: default: per_edge description: The rate policy counter type. Either `per_edge` for rate limiting to work per edge node, or `region_aggregated` for rate limiting to work using aggregated rate accounting across multiple edge nodes. enum: - per_edge - region_aggregated type: string createDate: description: __Read-only__ The time stamp when you created the rate policy. example: '2016-07-22T18:57:08.00Z' format: date-time readOnly: true type: string description: description: Descriptive text you provide about a policy. type: string evaluation: additionalProperties: false description: Contains details about rate policy evaluation. properties: averageThreshold: description: The allowed hits per second during any two-minute interval during evaluation. minimum: 1 type: integer burstThreshold: description: The allowed hits per second during any five-second interval during evaluation. minimum: 1 type: integer burstWindow: description: __Read-only__ The time span for the `burstThreshold` interval used during evaluation. This value is always set to the `burstWindow` specified by the main rate policy. readOnly: true type: integer counterType: default: region_aggregated description: The evaluation rate policy counter type. Either `per_edge` for rate limiting to work per edge node, or `region_aggregated` for rate limiting to work using aggregated rate accounting across multiple edge nodes. enum: - per_edge - region_aggregated type: string endDate: description: __Read-only__ The time stamp when evaluation ends. format: date-time readOnly: true type: string evaluationId: description: __Read-only__ Uniquely identifies an evaluation. readOnly: true type: integer evaluationStatus: description: __Read-only__ Reflects evaluation status, either `in_progress`, `pending_activation`, or `completed`. enum: - in_progress - pending_activation - completed readOnly: true type: string startDate: description: __Read-only__ The time stamp when evaluation starts. format: date-time readOnly: true type: string version: description: __Read-only__ Evaluation version. readOnly: true type: integer required: - averageThreshold - burstThreshold type: object fileExtensions: additionalProperties: false description: Contains the file extension match criteria. properties: positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean values: description: The file extensions to match on. items: type: string type: array required: - positiveMatch - values type: object hostnames: description: __Deprecated__. The hostnames to match. This array is deprecated. Use the `hosts` object instead. items: type: string type: array hosts: additionalProperties: false description: The hostnames to match, and whether to trigger on a match or absence of match. properties: positiveMatch: default: true description: When `true`, triggers on hostnames that match any hostnames in this array. When `false`, triggers on hostnames that don't match any in this array. type: boolean values: description: The hostnames you choose to match, or specifically not match. items: type: string type: array required: - positiveMatch - values type: object id: description: __Read-only__ Uniquely identifies each rate policy. readOnly: true type: integer matchType: description: The match type in a rate policy. Either `path` to match website paths or `api` to match API paths. enum: - path - api type: string name: description: The name you assign to a rate policy. type: string path: additionalProperties: false description: Contains details about the path match criteria. properties: positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean values: description: The list of paths to match on. items: type: string type: array required: - positiveMatch - values type: object pathMatchType: description: The type of paths to match in incoming requests. Either `AllRequests` to match an empty path or any path that ends in a trailing slash (`/`), `TopLevel` to match top-level hostnames only, or `Custom` to match a specific path or path component. This applies only when the corresponding `matchType` member is `path`. Specify `RequestDisabled` to bypass matching on a path. enum: - AllRequests - TopLevel - Custom - RequestDisabled type: string pathUriPositiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean penaltyBoxDuration: default: TEN_MINUTES description: The duration of the penalty box. Either `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`, `FOUR_HOURS`, `SIX_HOURS`, `TWELVE_HOURS`, or `TWENTY_FOUR_HOURS`. Only applicable when the `counterType` is `region_aggregated`. enum: - TEN_MINUTES - THIRTY_MINUTES - ONE_HOUR - FOUR_HOURS - SIX_HOURS - TWELVE_HOURS - TWENTY_FOUR_HOURS type: string queryParameters: description: The list of query parameter objects to match on. items: additionalProperties: false properties: name: description: The query parameter name. type: string positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean valueInRange: description: Whether to match a value inside or outside a range. The range format is `min:max` — for example, `2:4`. type: boolean values: description: The list of query parameter values. items: type: string type: array required: - name - values - positiveMatch type: object type: array requestType: description: The type of requests to count towards the rate policy's thresholds. Either `ClientRequest` to count client requests to edge servers, `ClientResponse` to count edge responses to the client, `ForwardResponse` to count origin responses to the client, or `ForwardRequest` to count edge requests to your origin. enum: - ClientRequest - ClientResponse - ForwardResponse - ForwardRequest type: string sameActionOnIpv6: description: Whether to apply the same action to the IPv6 traffic as to the IPv4 traffic. type: boolean type: description: The rate policy type. Either `WAF` for Web Application Firewall, or `BOTMAN` for Bot Manager. enum: - WAF - BOTMAN type: string updateDate: description: __Read-only__ The ISO 8601 timestamp when you last updated the rate policy. example: '2017-02-22T00:05:41.00Z' format: date-time readOnly: true type: string useXForwardForHeaders: description: Whether to check the contents of the `X-Forwarded-For` header in incoming requests. type: boolean used: description: __Read-only__ Whether you're currently using the rate policy. readOnly: true type: boolean required: - matchType - type - name - averageThreshold - burstThreshold - clientIdentifier - requestType - sameActionOnIpv6 - pathMatchType type: object x-akamai: file-path: schemas/rate-policy.yaml type: array reputationProfiles: description: The reputation profile details in the configuration version. items: additionalProperties: false description: Describes reputation profile objects when returned in the configuration export API's response. properties: condition: additionalProperties: false description: Contains information about the criteria that trigger the reputation profile. properties: atomicConditions: description: The conditions that trigger the reputation profile. items: additionalProperties: false properties: checkIps: description: Use `both` to include the `X-Forwarded-For` (XFF) header and the client’s IP address. Use `connecting` to exclude the XFF header. The XFF header is easily spoofed, so only include it in rare cases. enum: - connecting - both type: string className: description: The condition type. Either `NetworkListCondition`, `AsNumberCondition`, `IpAddressCondition`, `RequestCookieCondition`, `RequestHeaderCondition`, `HostCondition`, or `UrlPatternCondition`. enum: - NetworkListCondition - AsNumberCondition - IpAddressCondition - RequestCookieCondition - RequestHeaderCondition - HostCondition - UrlPatternCondition type: string host: description: A list of hostnames. This only applies to the `HostCondition` `className`. items: description: A hostname. minLength: 1 type: string minItems: 1 type: array uniqueItems: true index: description: The location of the parameter's data within the array. type: integer name: description: The condition value of `name`. This only applies to the `RequestHeaderCondition`, and `RequestCookieCondition` condition `className`. oneOf: - title: Single name type: string - items: type: string title: Array of names type: array nameCase: description: Whether to consider the case sensitivity of the provided query names. type: boolean nameWildcard: description: Whether the provided value of `name` is a wildcard. This only applies to the `RequestHeaderCondition`, and `RequestCookieCondition` condition `className`. type: boolean positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean value: description: The list of values that trigger the condition. items: type: string minItems: 1 type: array uniqueItems: true valueCase: default: false description: Whether to consider the character case when comparing the value string with the request value. The default is `false`, meaning that a value such as `url` would match a string `UrL` in the request. type: boolean valueWildcard: default: true description: Whether to treat the asterisk (`*`) and question mark (`?`) as wildcards when comparing the value string with the request value. Note that setting this to `false` isn't supported by the host condition, and means that the value string must match exactly. type: boolean required: - className - positiveMatch - value type: object type: array canDelete: description: Whether the condition can be deleted. type: boolean configVersionId: description: Unique identifier of the config version. type: integer description: description: Describes the reputation profile condition. type: string id: description: Uniquely identifies the reputation profile condition. type: integer name: description: The name you assigned to the reputation profile condition. type: string positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean uuid: description: The universally unique identifier (UUID) of the reputation profile condition. type: string version: description: The version of the reputation profile condition. type: integer required: - id - version type: object context: description: Identifies the reputation category. Either `WEBSCRP`, `DOSATCK`, `WEBATCK`, `ACCATCK`, `SCANTL`, `2_WEBSCRP`, `2_DOSATCK`, `2_WEBATCK`, `2_ACCATCK`, or `2_SCANTL`. enum: - WEBSCRP - DOSATCK - WEBATCK - ACCATCK - SCANTL - 2_WEBSCRP - 2_DOSATCK - 2_WEBATCK - 2_ACCATCK - 2_SCANTL type: string contextReadable: description: __Read-only__ Describes the reputation category. readOnly: true type: string description: description: Describes the reputation profile. type: string enabled: description: __Read-only__ Whether you enabled the reputation profile. readOnly: true type: boolean id: description: __Read-only__ Uniquely identifies the reputation profile. readOnly: true type: integer name: description: The name you assigned to the reputation profile. type: string threshold: description: The threshold when the profile to triggers. type: number required: - id - name - context - threshold type: object x-akamai: file-path: schemas/export-reputation-profiles.yaml type: array rulesets: description: The ruleset details in the configuration version. items: additionalProperties: false description: Contains ruleset version details. properties: attackGroups: description: The list of attack groups in the ruleset. items: additionalProperties: false properties: group: description: Identifies the attack group. type: string groupName: description: The name of the attack group. type: string threshold: description: The risk score threshold. When a request has a score above this threshold, the action set in the security policy for this risk group triggers. type: integer required: - threshold - groupName - group type: object type: array id: description: Uniquely identifies the ruleset. type: integer releaseDate: description: The ISO 8601 timestamp indicating when the ruleset was released. type: string rules: description: The list of rules in the ruleset. items: additionalProperties: false properties: attackGroups: description: The attack groups that the rule belongs to. items: type: string type: array id: description: Uniquely identifies the rule. type: integer inspectRequestBody: description: Whether to inspect the request body. type: boolean inspectResponseBody: description: Whether to inspect the response body. type: boolean ruleVersion: description: The rule's version. type: integer score: description: The risk score for the rule. type: number tag: description: The tag you assigned to the rule. type: string title: description: The rule title. type: string required: - id - inspectRequestBody - inspectResponseBody - ruleVersion - score - tag - title type: object type: array rulesetVersionId: description: Uniquely identifies the ruleset version. type: integer type: description: The ruleset type. The only available value is `Kona`. enum: - Kona type: string required: - id - rulesetVersionId - type - releaseDate - attackGroups - rules type: object x-akamai: file-path: schemas/export-rule-sets.yaml type: array securityPolicies: description: The security policies in the configuration version. items: additionalProperties: false description: Contains settings for custom rule actions. properties: apiRequestConstraints: additionalProperties: false description: The API request constraint action set in this policy. The action applies to the APIs associated with this policy via the API match targets. properties: action: description: The action will be returned in the `apiEndpoints` array on a per-API basis. This is retained for backward compatibility. minLength: 1 type: string apiEndpoints: description: The list of APIs covered by match target set in the security policy. items: additionalProperties: false properties: action: description: The action to take for the requests that violate the constraints. minLength: 1 type: string id: description: Uniquely identifies the API match target. minimum: 0 type: integer required: - action - id type: object minItems: 0 type: array required: - action - apiEndpoints type: object clientReputation: additionalProperties: false description: Contains details about the reputation profile actions. properties: reputationProfileActions: description: The list of reputation profile actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when the request exceeds the threshold set in the reputation profile. minLength: 1 type: string id: description: Uniquely identifies the reputation profile. minimum: 0 type: integer required: - action - id type: object minItems: 0 type: array required: - reputationProfileActions type: object customRuleActions: description: The list of custom rule actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when a request meets the custom rule conditions. minLength: 1 type: string id: description: Uniquely identifies the custom rule. minimum: 0 type: integer required: - action - id type: object minItems: 0 type: array evaluationPenaltyBox: additionalProperties: false description: Contains action settings for penalty box protection. properties: action: oneOf: - description: 'The action to take when penalty box protection is triggered: `alert` to record the trigger event, `abort` to block the request, or `none` to take no action. Ignored if `penaltyBoxProtection` is set to `false`.' enum: - alert - abort - none title: action type: string - description: 'The custom deny action to take when penalty box protection is triggered: `deny_custom_{custom_deny_id}` to execute a custom deny action. Ignored if `penaltyBoxProtection` is set to `false`.' pattern: deny_custom_{\d+} title: custom action type: string penaltyBoxProtection: description: Specifies whether penalty box protection is enabled for the security policy. When set to `true` the `action` occurs if triggered by a request. type: boolean required: - penaltyBoxProtection - action type: object x-akamai: file-path: schemas/penalty-box.yaml hasRatePolicyWithApiKey: description: Whether the security policy has a rate policy with an `API_KEY` client identifier. You can manage APIs using the [API Endpoint Definition API](https://techdocs.akamai.com/api-gateway/reference/api). type: boolean id: description: Uniquely identifies the security policy. minLength: 1 type: string ipGeoFirewall: additionalProperties: false description: The status of IP and geographic controls defined in the security policy. properties: block: description: The directive for blocking IP addresses. Either `blockSpecificIPGeo` to block specific IPs unless they're in block exceptions, or `blockAllTrafficExceptAllowedIPs` to block all traffic apart from the IPs in block exceptions. enum: - blockSpecificIPGeo - blockAllTrafficExceptAllowedIPs type: string geoControls: additionalProperties: false description: Contains details about the geographic regions to block. properties: blockedGeoNetworkLists: additionalProperties: false description: The geo network lists and specific geographic locations to block. properties: additional: description: The specific geographic locations to block. items: type: string type: array networkList: description: The geo network lists to block. items: type: string type: array required: - networkList - additional type: object required: - blockedGeoNetworkLists type: object ipControls: additionalProperties: false description: Contains details about the allowed and blocked IP network lists. properties: allowedIPNetworkLists: additionalProperties: false description: The collection of IPs and network lists to allow. properties: additional: description: The specific IPs to allow. items: type: string type: array networkList: description: The IP network lists to allow. items: type: string type: array required: - networkList - additional type: object blockedIPNetworkLists: additionalProperties: false description: The collection of IPs and network lists to block. properties: additional: description: The specific IPs to block. items: type: string type: array networkList: description: The IP network lists to block. items: type: string type: array required: - networkList - additional type: object required: - blockedIPNetworkLists - allowedIPNetworkLists type: object ukraineGeoControl: additionalProperties: false description: The settings for requests to and from Ukraine. properties: action: description: "The type of action to take for the Donetsk and Luhansk regions of Ukraine. Value is one of:\n - `deny`. Default. Blocked traffic gets a `403` response.\n - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response.\n - `alert`. Records the event trigger.\n - `none`. Takes no action. \n\n
Note: As the situation in Ukraine changes, we'll update the included regions.
" pattern: ^(deny|alert|none|deny_custom_\d+)$ type: string type: object x-akamai: file-path: schemas/ukraine-geo-control.yaml required: - block type: object x-akamai: file-path: schemas/network-layer-controls.yaml loggingOverrides: additionalProperties: false description: The header logging settings that override the config version level settings. properties: allowSampling: description: Whether you enabled the header data sampling. type: boolean cookies: additionalProperties: false description: The sampling settings for the cookie data. properties: type: description: The directive for including cookies. Either `all` to include all cookies, `exclude` to exclude specific cookies, `none` not to include any cookies, or `only` to include only specific cookies. enum: - all - exclude - none - only type: string values: description: The cookie names to log or exclude. This applies only when the `type` is either `only` or `exclude`. items: type: string type: array required: - type - values type: object customHeaders: additionalProperties: false description: The sampling settings for the custom headers. properties: type: description: The directive for including custom headers. Either `all` to include all custom headers, `exclude` to exclude specific custom headers, `none` not to include any custom headers, or `only` to include only specific custom headers. enum: - all - exclude - none - only type: string values: description: The custom headers to log or exclude. This applies only when the `type` is either `only` or `exclude`. items: type: string type: array required: - type - values type: object standardHeaders: additionalProperties: false description: The sampling settings for the standard headers. properties: type: description: The directive for including standard headers. Either `all` to include all standard headers, `exclude` to exclude specific standard headers, `none` not to include any standard headers, or `only` to include only specific standard headers. enum: - all - exclude - none - only type: string values: description: The standard headers to log or exclude. This is applies only when the `type` is either `only` or `exclude`. For available header values, see [Export header values](https://techdocs.akamai.com/application-security/reference/hdval). items: enum: - Accept - Accept-Charset - Accept-Encoding - Accept-Language - Accept-Ranges - Access-Control-Allow-Origin - Age - Allow - Cache-Control - Connection - Content-Disposition - Content-Encoding - Content-Language - Content-Length - Content-Location - Content-MD5 - Content-Range - Content-Security-Policy - Content-Type - Date - DNT - Etag - Expect - Expires - From - Host - If-Match - If-Modified-Since - If-None-Match - If-Range - If-Unmodified-Since - Last-Modified - Link - Location - Max-Forwards - Origin - P3P - Pragma - Proxy-Authenticate - Range - Referer - Refresh - Retry-After - Server - Strict-Transport-Security - TE - Trailer - Transfer-Encoding - Upgrade - User-Agent - Vary - Via - Warning - WWW-Authenticate - X-Content-Security-Policy - X-Content-Type-Options - X-Forwarded-For - X-Forwarded-Proto - X-Frame-Options - X-Powered-By - X-Requested-With - X-UA-Compatible - X-WebKit-CSP - X-XSS-Protection type: string type: array required: - type type: object required: - allowSampling - cookies - customHeaders - standardHeaders type: object x-akamai: file-path: schemas/header-logging.yaml malwarePolicyActions: description: The list of malware policy actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when malware is detected. minLength: 1 type: string id: description: Uniquely identifies the malware policy. minimum: 0 type: integer unscannedAction: description: The action to take when a file is outside the 5 MB scan limit and isn't scanned. minLength: 1 type: string required: - action - unscannedAction - id type: object minItems: 0 type: array name: description: The name of the security policy. minLength: 1 type: string penaltyBox: additionalProperties: false description: Contains action settings for penalty box protection. properties: action: oneOf: - description: 'The action to take when penalty box protection is triggered: `alert` to record the trigger event, `abort` to block the request, or `none` to take no action. Ignored if `penaltyBoxProtection` is set to `false`.' enum: - alert - abort - none title: action type: string - description: 'The custom deny action to take when penalty box protection is triggered: `deny_custom_{custom_deny_id}` to execute a custom deny action. Ignored if `penaltyBoxProtection` is set to `false`.' pattern: deny_custom_{\d+} title: custom action type: string penaltyBoxProtection: description: Specifies whether penalty box protection is enabled for the security policy. When set to `true` the `action` occurs if triggered by a request. type: boolean required: - penaltyBoxProtection - action type: object x-akamai: file-path: schemas/penalty-box.yaml pragmaHeader: additionalProperties: false description: Contains policy level settings for the `Pragma` header. properties: action: description: The action to perform when a user passes a `Pragma` header. The only action currently supported is `REMOVE`. enum: - REMOVE type: string conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string excludeCondition: description: The conditions to exclude from the default `remove` action. Any condition you set in this object appears in the `Pragma` header debug response object. items: additionalProperties: false properties: header: description: The name of the request header. In the example, `accept`. type: string name: description: The name of the request header to ignore from inspection. In the example, `type`. type: string positiveMatch: description: When `true`, matches the selected values. When `false`, matches on anything outside the selected values. type: boolean type: description: The header value you want to appear in the response. You can choose from `requestHeaderValueMatch`, `ipMatch`, `networkList`, or `queryParamNameValueMatch`. enum: - requestHeaderValueMatch - ipMatch - networkList - queryParamNameValueMatch type: string useHeaders: description: Whether the condition should include the `X-Forwarded-For` header (XFF) header. This only applies when the condition `type` is `IP_MATCH` or `NETWORK_LIST`. type: boolean value: description: List of header values, query parameter values, IP addresses, or names of network lists. To manage networks lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api). items: type: string type: array valueCase: description: Whether to consider the case-sensitivity of the provided header value. This only applies when the condition `type` is `REQUEST_HEADER_VALUE_MATCH`. type: boolean valueWildcard: description: Whether the provided header value includes wildcards, such as `*` or `?`. This only applies to the `REQUEST_HEADER_VALUE_MATCH` condition type. type: boolean required: - type - positiveMatch - value type: object type: array override: description: Whether `Pragma` header override is enabled or disabled. type: boolean required: - action type: object x-akamai: file-path: schemas/pragma-header.yaml rapidRules: additionalProperties: false description: Contains details about the rapid rules defined in the security policy. properties: defaultAction: description: The list of rapid rule actions, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` to apply a custom action instead of Akamai's default. Run [Modify a custom deny action](https://techdocs.akamai.com/application-security/reference/put-custom-deny) to manage your custom deny actions. If the action is `none`, the rule is inactive in the policy. oneOf: - enum: - alert - deny - none - akamai_managed title: Predefined action type: string - pattern: ^(challenge|deny_custom|serve_alt|cond_action_)_[0-9]+$ title: Configurable action type: string type: object x-akamai: file-path: schemas/rapid-rule-action.yaml enabled: description: Whether you enabled the rapid rules. type: boolean policyRules: description: Contains a list of policy rapid rules. items: additionalProperties: false properties: action: description: The list of rapid rule actions, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` to apply a custom action instead of Akamai's default. Run [Modify a custom deny action](https://techdocs.akamai.com/application-security/reference/put-custom-deny) to manage your custom deny actions. If the action is `none`, the rule is inactive in the policy. oneOf: - enum: - alert - deny - none - akamai_managed title: Predefined action type: string - pattern: ^(challenge|deny_custom|serve_alt|cond_action_)_[0-9]+$ title: Configurable action type: string type: object x-akamai: file-path: schemas/rapid-rule-action.yaml conditionException: additionalProperties: false description: The GET Response JSON for conditions and exceptions. properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The conditions list for a rule. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object x-akamai: file-path: schemas/condition-exception-get-200.yaml group: description: The rapid rule group. type: string x-akamai: file-path: schemas/rapid-rule-group.yaml lock: description: Whether you've locked the rapid rule's action. When locked, future versions of this rule continue to use the action you originally selected. type: boolean x-akamai: file-path: schemas/rapid-rule-lock.yaml ruleId: description: Uniquely identifies the rapid rule. type: integer x-akamai: file-path: schemas/rapid-rule-id.yaml ruleVersion: description: The rapid rule's version number. type: integer x-akamai: file-path: schemas/rapid-rule-version.yaml rulesetVersionId: description: Uniquely identifies the rule set version. type: integer x-akamai: file-path: schemas/rapid-rule-version-id.yaml required: - action type: object minItems: 0 type: array threatIntel: description: Set to `on` so our network analyzes a request and dynamically modifies protection methods to fit the detected threat level. Set to `off` to manually fine-tune your rule sets. enum: - 'on' - 'off' type: string required: - enabled - defaultAction - policyRules type: object ratePolicyActions: description: The list of rate policy actions set in the security policy. items: additionalProperties: false properties: id: description: Uniquely identifies the rate policy. minimum: 0 type: integer ipv4Action: description: The action to take for the IPv4 traffic when the limits set in the rate policy are exceeded. minLength: 1 type: string ipv6Action: description: The action to take for the IPv6 traffic when the limits set in the rate policy are exceeded. minLength: 1 type: string required: - ipv4Action - ipv6Action - id type: object minItems: 0 type: array requestBody: additionalProperties: false description: Contains policy level settings for request body inspection limit. properties: requestBodyInspectionLimitInKB: description: Request body size in KB, either `8`, `16`, or `32` as string-formatted integers, or `default` to use Akamai's best practice value. enum: - '8' - '16' - '32' - default type: string type: object x-akamai: file-path: schemas/request-body.yaml securityControls: additionalProperties: false description: Contains details about the security controls defined in the security policy. properties: applyAccountProtectionControls: description: Indicates if you enabled the account protection controls. type: boolean applyApplicationLayerControls: description: Whether you enabled the application layer controls. type: boolean applyMalwareControls: description: Whether you enabled the malware protection. type: boolean applyNetworkLayerControls: description: Whether you enabled the network layer controls. type: boolean applyRateControls: description: Whether you enabled the rate controls. type: boolean applyReputationControls: description: Whether you enabled the reputation controls. type: boolean required: - applyRateControls - applyNetworkLayerControls - applyReputationControls - applyApplicationLayerControls - applyMalwareControls type: object slowPost: additionalProperties: false description: Contains details about the slow POST protection. Lets you set thresholds to control slow traffic. The duration threshold takes precedence over the slow rate threshold. properties: action: description: The action to take for a request that exceeds the threshold. Either `alert` to send an alert notification, or `abort` to deny the request. enum: - alert - abort type: string durationThreshold: additionalProperties: false description: The settings based on the first 8 kilobytes of the POST body transfer. properties: timeout: description: The time (in seconds) when the first 8 kilobytes of the POST body should be processed to avoid flagging the request. minimum: 0 type: integer required: - timeout type: object slowRateThreshold: additionalProperties: false description: The settings based on the request body transfer speed. properties: period: description: The period (in seconds) when the rate applies. minimum: 0 type: integer rate: description: The maximum rate of bandwidth in bytes per second, averaged every 2 minutes. minimum: 0 type: integer required: - rate - period type: object required: - action - durationThreshold - slowRateThreshold type: object webApplicationFirewall: additionalProperties: false description: Contains information about the rule and attack group actions. properties: attackGroupActions: description: The list of attack group actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when the risk score exceeds the set threshold. type: string advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml group: description: The attack group name. type: string rulesetVersionId: description: Uniquely identifies the ruleset version. type: integer required: - action - group - rulesetVersionId type: object type: array evaluation: additionalProperties: false description: Specifies the ruleset version evaluated as part of the policy. properties: attackGroupActions: description: The list of attack group actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when the risk score exceeds the set threshold. type: string advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml group: description: The attack group name. type: string rulesetVersionId: description: Uniquely identifies the ruleset version. type: integer required: - action - group - rulesetVersionId type: object type: array evaluationId: description: Uniquely identifies the rule evaluation configuration. minimum: 0 type: integer evaluationVersion: description: The evaluation version. The version numbers start at `1` and increase on the first change to an evaluation configuration after its activation. minimum: 0 type: integer ruleActions: description: The list of rules in the security policy and the actions to perform when a request violates the rule. items: additionalProperties: false properties: action: description: The action to take when a request violates the rule. type: string conditions: description: The list of conditions that trigger the rule. items: additionalProperties: false 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 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 type: string useHeaders: description: Whether the condition should include the `X-Forwarded-For` (XFF) headers. This only applies to the `ipMatch` 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 to the `uriQueryMatch` and `requestHeaderMatch` condition `type`s. 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: - caseSensitive - extensions - filenames - header - hosts - ips - methods - name - nameCase - paths - positiveMatch - type - useHeaders - value - valueCase - valueWildcard - wildcard type: object type: array exceptions: additionalProperties: false description: Contains details about the exceptions under which the rule's action doesn't trigger. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule exceptions. The possible values are `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, and `REQ_HDR` 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: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR type: string required: - prefix - selector type: object required: - anyHeaderCookieOrParam - headerCookieOrParamValues - specificHeaderCookieOrParamNames - specificHeaderCookieOrParamNameValue - specificHeaderCookieOrParamPrefix type: object id: description: Uniquely identifies the rule. type: integer rulesetVersionId: description: Uniquely identifies the rule set version. type: integer required: - id - rulesetVersionId - action type: object type: array rulesetVersion: description: Uniquely identifies the evaluated ruleset version. minimum: 0 type: integer required: - rulesetVersion - evaluationId - evaluationVersion - ruleActions - attackGroupActions type: object ruleActions: description: The list of rules in the security policy and the actions to perform when a request violates the rule. items: additionalProperties: false properties: action: description: The action to take when a request violates the rule. type: string conditions: description: The list of conditions that trigger the rule. items: additionalProperties: false 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 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 type: string useHeaders: description: Whether the condition should include the `X-Forwarded-For` (XFF) headers. This only applies to the `ipMatch` 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 to the `uriQueryMatch` and `requestHeaderMatch` condition `type`s. 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: - caseSensitive - extensions - filenames - header - hosts - ips - methods - name - nameCase - paths - positiveMatch - type - useHeaders - value - valueCase - valueWildcard - wildcard type: object type: array exceptions: additionalProperties: false description: Contains details about the exceptions under which the rule's action doesn't trigger. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule exceptions. The possible values are `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, and `REQ_HDR` 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: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR type: string required: - prefix - selector type: object required: - anyHeaderCookieOrParam - headerCookieOrParamValues - specificHeaderCookieOrParamNames - specificHeaderCookieOrParamNameValue - specificHeaderCookieOrParamPrefix type: object id: description: Uniquely identifies the rule. type: integer rulesetVersionId: description: Uniquely identifies the rule set version. type: integer required: - id - rulesetVersionId - action type: object type: array threatIntel: description: Set to `on` so our network analyzes a request and dynamically modifies protection methods to fit the detected threat level. Set to `off` to manually fine-tune your rule sets. enum: - 'on' - 'off' type: string required: - attackGroupActions - evaluation - ruleActions type: object required: - id - name - securityControls - hasRatePolicyWithApiKey type: object x-akamai: file-path: schemas/export-security-policies.yaml type: array selectableHosts: description: The hostnames that are available for protection in the configuration version. items: type: string type: array selectedHosts: description: The hostnames protected in the configuration version. items: type: string type: array siem: additionalProperties: false description: The SIEM details in the configuration version. properties: enableForAllPolicies: description: Whether you enabled SIEM for all the security policies in the configuration version. This takes precedence when both `firewallPolicyIds` and `enableForAllPolicies` are present. type: boolean enableSiem: description: Whether you enabled SIEM in the security configuration version. type: boolean enabledBotmanSiemEvents: deprecated: true description: __Deprecated__ Whether you enabled SIEM for the Bot Manager events. Use the `exceptions` field instead to set Botman SIEM events exception. type: boolean x-akamai: status: DEPRECATED exceptions: description: Describes all attack types and its actions that will be excluded in SIEM events. items: additionalProperties: false properties: actionTypes: description: Describes [actions](https://techdocs.akamai.com/application-security/reference/siem-action-and-attack-type-exceptions) to be excluded for a particular attack type. items: enum: - '*' - alert - deny - all_custom - abort - allow - delay - ignore - monitor - slow - tarpit type: string minItems: 0 type: array protection: description: Describes the [attack type](https://techdocs.akamai.com/application-security/reference/siem-action-and-attack-type-exceptions) to be excluded from SIEM events. enum: - ipgeo - rate - urlProtection - slowpost - customrules - waf - apirequestconstraints - clientrep - malwareprotection - botmanagement - aprProtection type: string required: - actionTypes - protection type: object minItems: 0 type: array firewallPolicyIds: description: The list of security policy identifiers for which to enable the SIEM integration. items: minLength: 1 type: string minItems: 0 type: array siemDefinitionId: description: Uniquely identifies the SIEM settings. minimum: 1 type: integer required: - enableSiem - exceptions - firewallPolicyIds - siemDefinitionId - enableForAllPolicies type: object x-akamai: file-path: schemas/export-siem.yaml staging: additionalProperties: false description: Specifies the configuration version's activation status on the staging network. properties: action: description: The action you performed on the configuration version. Either `ACTIVATE` or `DEACTIVATE`. enum: - ACTIVATE - DEACTIVATE type: string status: description: The activation status. Either `Pending`, `Active`, `Inactive`, `Deactivated`, `Failed`. enum: - Pending - Active - Inactive - Deactivated - Failed type: string time: description: The ISO 8601 timestamp when you activated the configuration version. type: string required: - status type: object version: description: The security configuration's incremental version number. type: integer versionNotes: description: The notes that you provide to describe the security configuration version. type: string required: - advancedOptions - basedOn - configId - configName - createDate - createdBy - customRules - errorHosts - matchTargets - production - ratePolicies - reputationProfiles - rulesets - securityPolicies - selectableHosts - selectedHosts - siem - customDenyList - staging - version type: object x-akamai: file-path: schemas/export.yaml description: Export data retrieved successfully. '403': content: application/problem+json: example: detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 403 title: Forbidden type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Forbidden](https://techdocs.akamai.com/application-security/reference/403). You are not authorized to run this operation.' x-akamai: file-path: errors/403.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The export result wasn''t found. Check that the `exportId` is correct and try again.' x-akamai: file-path: errors/404.yaml summary: Get asynchronous export results tags: - Configuration version export x-akamai: labels: - All products /configs/{configId}/versions/{versionNumber}/export/{exportId}/status: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml - description: A unique identifier for each asynchronous export. in: path name: exportId required: true schema: example: 101 type: integer x-akamai: file-path: parameters/asynchronous-export-id.yaml x-akamai: file-path: paths/config-version-async-export-status.yaml path-info: /configs/{configId}/versions/{versionNumber}/export/{exportId}/status get: description: __All products__ Get a security configuration version's export status. When `PENDING`, the task is still running. When `COMPLETED`, the task finished successfully and you can collect the results through the link in the response. A status of `FAILED` appears when the task can't complete. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-export-config-version-async-task-status operationId: get-export-config-version-async-task-status parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: createdBy: jkowalski@example.com createdDate: '2025-08-12T06:00:21.918079Z' expiresDate: '2025-08-14T06:00:52.296311Z' exportId: '161' exportStatus: COMPLETED resultLink: /appsec/v1/configs/24193/versions/39/export/161/result schema: additionalProperties: false description: Describes the response for an asynchronous export task. properties: createdBy: description: The user who launched the export task. minLength: 1 type: string createdDate: description: __Read-only__ ISO 8601 timestamp when the export request begins. format: date-time readOnly: true type: string expiresDate: description: ISO 8601 timestamp when the export result is deleted. format: date-time type: string exportId: description: Uniquely identifies each export task. type: string exportStatus: description: "__Read-only__ The status of the export, which can take several minutes to complete. \n* `PENDING` indicates the task is accepted and in progress. \n* `COMPLETED` means it finished successfully and the result can be retrieved. \n* `FAILED` means the task could not be processed." enum: - PENDING - COMPLETED - FAILED minLength: 1 readOnly: true type: string message: description: A message providing additional information about the export task. type: string resultLink: description: The URL for the operation to request the task result. format: uri type: string retryAfter: description: The estimated number of seconds until the task completes. type: integer statusLink: description: The URL for the operation to request the task status. format: uri type: string required: - exportId - exportStatus - createdDate - createdBy type: object x-akamai: file-path: schemas/export-async-status.yaml description: The response shows the export status. headers: Retry-After: description: The estimated number of seconds until the task completes. This header only appears for tasks still in progress. required: false schema: example: 60 type: integer x-akamai: file-path: headers/retry-after.yaml '403': content: application/problem+json: example: detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 403 title: Forbidden type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Forbidden](https://techdocs.akamai.com/application-security/reference/403). You are not authorized to run this operation.' x-akamai: file-path: errors/403.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). The export task was not found.' x-akamai: file-path: errors/404.yaml summary: Get asynchronous export status tags: - Configuration version export x-akamai: labels: - All products /export/configs/{configId}/versions/{versionNumber}: parameters: - description: A unique identifier for each configuration. in: path name: configId required: true schema: example: 77653 format: int64 type: integer x-akamai: file-path: parameters/config-id-path.yaml - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml x-akamai: file-path: paths/export.yaml path-info: /export/configs/{configId}/versions/{versionNumber} get: description: __All products__ Returns comprehensive details about a security configuration version. This operation returns more data than [Get configuration version details](https://techdocs.akamai.com/application-security/reference/get-version-number), including Bot Manager protections, rate and security policies, rules, hostnames, and numerous additional settings. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-export-config-version operationId: get-export-config-version parameters: - description: For customers who manage more than one account, this [runs the operation from another account](https://techdocs.akamai.com/developer/docs/manage-many-accounts-with-one-api-client). The Identity and Access Management API provides a [list of available account switch keys](https://techdocs.akamai.com/iam-api/reference/get-client-account-switch-keys). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: advancedOptions: asePenaltyBox: akamaiManagedExclusions: lastUpdated: '2025-02-01' rules: - '1000000' - '2000000' - '3000000' blockDuration: 10 clientIdentifiers: - ip-useragent qualificationExclusions: attackGroups: - XSS - IN rules: - 950002 requestCount: 1 ja4Fingerprint: headerNames: - test logging: allowSampling: true cookies: type: exclude values: - _updated_By_SoapUI - w - NEW_VAL_ADDED_BY_SoapUI customHeaders: type: only values: - '112' - sdasd - ds standardHeaders: type: only pragmaHeader: action: REMOVE conditionOperator: AND excludeCondition: - header: Expect positiveMatch: true type: requestHeaderValueMatch useHeaders: false value: - dasd valueCase: true valueWildcard: true - positiveMatch: true type: networkList useHeaders: true value: - 62569_AEPUAT1PARTNERSSTRICTWL valueCase: false valueWildcard: false override: true prefetch: allExtensions: false enableAppLayer: true enableRateControls: false extensions: - cgi - jsp - EMPTY_STRING - aspx - php - py - asp basedOn: 1 configId: 48579 configName: New Security Config createDate: '2017-09-08T22:24:41Z' createdBy: mrossi customDenyList: [] customRules: - conditions: - positiveMatch: true type: hostMatch value: - a.com - positiveMatch: true type: asNumberMatch useXForwardForHeaders: false value: - '1' id: 60032441 name: test operation: AND ruleActivated: false structured: true tag: - tag version: 1 errorHosts: - hostname: business.example.com reason: property is not active in either production or staging reasonCode: 400 - hostname: anotherhostname.example.com reason: You don't have access to this property reasonCode: 403 matchTargets: apiTargets: - apis: - id: 1041 name: hmm test bypassNetworkLists: - id: 1024_AMAZONELASTICCOMPUTECLOU name: Ec2 Akamai Network List - id: 1283_MICROSOFTWINDOWSAZUREDAT name: Azure IP range cloud services effectiveSecurityControls: applyApiConstraints: false applyApplicationLayerControls: false applyBotmanControls: false applyNetworkLayerControls: false applyRateControls: true applyReputationControls: false applySlowPostControls: false id: 1362597 securityPolicy: policyId: 99e_47293 sequence: 6 type: api - apis: - id: 1001 name: '1001' - id: 1041 name: hmm test bypassNetworkLists: - id: 11212_BYPASSURR name: bypass-URR effectiveSecurityControls: applyApiConstraints: true applyApplicationLayerControls: false applyBotmanControls: false applyNetworkLayerControls: true applyRateControls: false applyReputationControls: true applySlowPostControls: false id: 1362598 securityPolicy: policyId: '4444_44572' sequence: 7 type: api websiteTargets: - bypassNetworkLists: - id: 11212_BYPASSURR name: bypass-URR defaultFile: NO_MATCH effectiveSecurityControls: applyApiConstraints: true applyApplicationLayerControls: true applyBotmanControls: false applyNetworkLayerControls: false applyRateControls: true applyReputationControls: false applySlowPostControls: false fileExtensions: - jpg filePaths: - /path id: 1362593 isNegativeFileExtensionMatch: false isNegativePathMatch: false securityPolicy: policyId: qik3_38800 sequence: 1 type: website - defaultFile: NO_MATCH effectiveSecurityControls: applyApiConstraints: true applyApplicationLayerControls: true applyBotmanControls: false applyNetworkLayerControls: true applyRateControls: true applyReputationControls: true applySlowPostControls: false filePaths: - /images - /image1 - /path hostnames: - b2c.div1.akamaniac.com id: 1362594 isNegativeFileExtensionMatch: false isNegativePathMatch: false securityPolicy: policyId: qik2_38799 sequence: 2 type: website production: status: Inactive ratePolicies: - averageThreshold: 3 burstThreshold: 2 clientIdentifier: '' clientIdentifiers: [] createDate: '2017-09-08T22:24:42Z' id: 672601 matchType: path name: dsafsfdsf pathMatchType: RequestDisabled pathUriPositiveMatch: true queryParameters: - name: dasdasdasd* positiveMatch: true valueInRange: false values: - dasdasdas8*&^ requestType: ClientRequest sameActionOnIpv6: true type: BOTMAN updateDate: '2017-09-08T22:24:42Z' useXForwardForHeaders: false used: false - additionalMatchOptions: - positiveMatch: true type: NetworkListCondition values: - 25620_REPUTATIONALLOWLIST174 - 11212_BYPASSURR - positiveMatch: true type: RequestMethodCondition values: - GET - HTTP_DELETE - positiveMatch: true type: UserAgentCondition values: - MOZILLA - Googlebot - positiveMatch: true type: RequestMethodCondition values: - GET - POST - HEAD - positiveMatch: true type: ResponseStatusCondition values: - '400' - '401' - '402' - '403' - '404' - '405' - '406' - '407' - '408' - '409' - '410' - '500' - '501' - '502' - '503' - '504' averageThreshold: 1000 burstThreshold: 10 burstWindow: 3 clientIdentifier: ip condition: atomicConditions: - className: TlsFingerprintCondition positiveMatch: true value: - a797dc449ef113be - ba51ec8d71259a5b3c92d8787370e2c3 - className: ClientReputationCondition name: - DOSATCK - WEBATCK positiveMatch: true sharedIpHandling: BOTH value: 3 - className: RequestHeaderCondition name: - Accept - Content-Type nameWildcard: true positiveMatch: true value: - json - xml valueCase: false valueWildcard: true positiveMatch: true createDate: '2017-09-08T22:24:42Z' description: These Shared Resources will be available to all policies within the Security Configuration id: 672607 matchType: path name: These Shared Resources will be available to all policies within the Security Configuration pathMatchType: Custom pathUriPositiveMatch: true queryParameters: - name: param1 positiveMatch: false valueInRange: true values: - value1 requestType: ClientRequest sameActionOnIpv6: true type: WAF updateDate: '2017-09-08T22:24:42Z' useXForwardForHeaders: false used: true reputationProfiles: - context: SCANTL contextReadable: Scanning Tools enabled: true id: 210588 name: Scanning Tools (Low Threat) threshold: 5 - condition: atomicConditions: - className: RequestHeaderCondition index: 1 name: - test* nameWildcard: false positiveMatch: true value: - test* valueCase: false valueWildcard: false - className: RequestHeaderCondition index: 2 name: - Head - Header nameWildcard: true positiveMatch: true value: - Header value valueCase: false valueWildcard: true - checkIps: connecting className: NetworkListCondition index: 3 positiveMatch: true value: - 14121_IMAGEMANAGERSERVERS - className: RequestCookieCondition index: 4 name: cookieName nameCase: false nameWildcard: true positiveMatch: true value: - cookieValue valueCase: false valueWildcard: true - checkIps: connecting className: AsNumberCondition index: 5 positiveMatch: true value: - '5' canDelete: false configVersionId: 152889 id: 88112456 name: Cloned of 87956156 for version 152889 positiveMatch: true uuid: SEC_COND_88112456 version: 1504909482545 context: WEBATCK contextReadable: Web Attackers enabled: false id: 210578 name: Web Attackers (Low Threat) threshold: 5 rulesets: - attackGroups: - group: DDOS groupName: Anomaly Score Exceeded for DDoS threshold: 5 - group: IN groupName: Anomaly Score Exceeded for Inbound threshold: 30 - group: SQL groupName: Anomaly Score Exceeded for SQL Injection threshold: 19 - group: TROJAN groupName: Anomaly Score Exceeded for Trojan threshold: 4 - group: XSS groupName: Anomaly Score Exceeded for Cross-Site Scripting threshold: 9 id: 41 releaseDate: '2017-04-21T16:00:38Z' rules: - id: 699989 inspectRequestBody: false inspectResponseBody: false ruleVersion: 1 score: 5 tag: title: Akamai-X debug Pragma header detected and removed - id: 699990 inspectRequestBody: false inspectResponseBody: false ruleVersion: 1 score: 5 tag: title: Detected request from anonymous proxy - attackGroups: - SQL - IN id: 981252 inspectRequestBody: true inspectResponseBody: false ruleVersion: 4 score: 5 tag: title: MySQL Charset Switch and MSSQL DoS Attempts - attackGroups: - IN - DDOS id: 3000060 inspectRequestBody: true inspectResponseBody: false ruleVersion: 2 score: 1000 tag: title: Mirai / Kaiten DDoS Detection - HTTP Attacks - attackGroups: - XSS - IN id: 3000061 inspectRequestBody: true inspectResponseBody: false ruleVersion: 1 score: 5 tag: title: Referer Header From OpenBugBounty Website - Potential XSS rulesetVersionId: 327550 type: Kona securityPolicies: - hasRatePolicyWithApiKey: false id: D3M0_98231 ipGeoFirewall: block: blockSpecificIPGeo ukraineGeoControl: action: none name: demo lab1 penaltyBox: action: alert penaltyBoxProtection: true pragmaHeader: action: REMOVE conditionOperator: OR excludeCondition: - positiveMatch: false type: ipMatch useHeaders: false value: - 192.0.2.22 valueCase: false valueWildcard: false override: true rapidRules: defaultAction: alert enabled: true policyRules: - action: alert lock: false ruleId: 3000971 ruleVersion: 1 - action: deny group: CMD rulesetVersionId: 7092 - action: alert group: LFI rulesetVersionId: 7092 - action: alert group: RFI rulesetVersionId: 7092 - action: alert group: PLATFORM rulesetVersionId: 7092 threatIntel: 'on' ratePolicyActions: - id: 117696 ipv4Action: deny ipv6Action: deny securityControls: applyAccountProtectionControls: false applyApplicationLayerControls: true applyMalwareControls: false applyNetworkLayerControls: true applyRateControls: true applyReputationControls: false slowPost: action: alert durationThreshold: timeout: 20 slowRateThreshold: period: 60 rate: 10 selectableHosts: - www.example1.com - www.example2.com selectedHosts: - www.example3.com - www.example4.com siem: enableForAllPolicies: false enableSiem: true enabledBotmanSiemEvents: false exceptions: - actionTypes: - '*' protection: botmanagement - actionTypes: - alert protection: ipgeo - actionTypes: - alert protection: rate firewallPolicyIds: - qik2_38799 - '4444_44572' - teet_39295 - ds22_48583 siemDefinitionId: 1 staging: status: Inactive version: 2 schema: additionalProperties: false description: Contains details about an exported security configuration version. properties: advancedOptions: additionalProperties: false description: The logging and prefetch settings in the configuration version. properties: asePenaltyBox: additionalProperties: false description: The configuration version level settings for ASE Penalty Box. properties: akamaiManagedExclusions: additionalProperties: false description: Akamai Managed Exclusions for ASE Penalty Box. properties: lastUpdated: description: Last time the Akamai Managed Exclusions were updated. format: date type: string rules: description: Rules managed by Akamai in Akamai Managed Exclusions. items: type: string type: array readOnly: true type: object x-akamai: file-path: schemas/ase-pb-akamai-managed-exclusion.yaml blockDuration: description: Block duration for ASE Penalty Box. type: integer x-akamai: file-path: schemas/ase-pb-block-duration.yaml clientIdentifiers: description: Client identifiers for ASE Penalty Box. items: type: string readOnly: true type: array x-akamai: file-path: schemas/ase-pb-client-identifiers.yaml qualificationExclusions: additionalProperties: false description: Qualification Exclusions for ASE Penalty Box. properties: attackGroups: description: Attack groups in Qualification Exclusions for ASE Penalty Box. items: type: string type: array rules: description: Rules in Qualification Exclusions for ASE Penalty Box. items: type: integer type: array type: object x-akamai: file-path: schemas/ase-pb-qualification-exclusion.yaml requestCount: description: Request count for ASE Penalty Box. readOnly: true type: integer x-akamai: file-path: schemas/ase-pb-request-count.yaml required: - blockDuration type: object x-akamai: file-path: schemas/ase-penalty-box.yaml ja4Fingerprint: additionalProperties: false description: Contains the configuration version level settings for JA4 Client TLS Fingerprint. properties: headerNames: description: The header name where you add the JA4 client TLS fingerprint details. items: description: The header name. type: string maxItems: 1 minItems: 1 nullable: true type: array uniqueItems: true type: object x-akamai: file-path: schemas/ja4-client-tls-fingerprint-get-200.yaml logging: additionalProperties: false description: Contains the configuration version level settings for header logging. properties: allowSampling: description: Whether you enabled the header data sampling. type: boolean cookies: additionalProperties: false description: The sampling settings for the cookie data. properties: type: description: The directive for including cookies. Either `all` to include all cookies, `exclude` to exclude specific cookies, `none` not to include any cookies, or `only` to include only specific cookies. enum: - all - exclude - none - only type: string values: description: The cookie names to log or exclude. This applies only when the `type` is either `only` or `exclude`. items: type: string type: array required: - type - values type: object customHeaders: additionalProperties: false description: The sampling settings for the custom headers. properties: type: description: The directive for including custom headers. Either `all` to include all custom headers, `exclude` to exclude specific custom headers, `none` not to include any custom headers, or `only` to include only specific custom headers. enum: - all - exclude - none - only type: string values: description: The custom headers to log or exclude. This applies only when the `type` is either `only` or `exclude`. items: type: string type: array required: - type - values type: object standardHeaders: additionalProperties: false description: The sampling settings for the standard headers. properties: type: description: The directive for including standard headers. Either `all` to include all standard headers, `exclude` to exclude specific standard headers, `none` not to include any standard headers, or `only` to include only specific standard headers. enum: - all - exclude - none - only type: string values: description: The standard headers to log or exclude. This is applies only when the `type` is either `only` or `exclude`. For available header values, see [Export header values](https://techdocs.akamai.com/application-security/reference/hdval). items: enum: - Accept - Accept-Charset - Accept-Encoding - Accept-Language - Accept-Ranges - Access-Control-Allow-Origin - Age - Allow - Cache-Control - Connection - Content-Disposition - Content-Encoding - Content-Language - Content-Length - Content-Location - Content-MD5 - Content-Range - Content-Security-Policy - Content-Type - Date - DNT - Etag - Expect - Expires - From - Host - If-Match - If-Modified-Since - If-None-Match - If-Range - If-Unmodified-Since - Last-Modified - Link - Location - Max-Forwards - Origin - P3P - Pragma - Proxy-Authenticate - Range - Referer - Refresh - Retry-After - Server - Strict-Transport-Security - TE - Trailer - Transfer-Encoding - Upgrade - User-Agent - Vary - Via - Warning - WWW-Authenticate - X-Content-Security-Policy - X-Content-Type-Options - X-Forwarded-For - X-Forwarded-Proto - X-Frame-Options - X-Powered-By - X-Requested-With - X-UA-Compatible - X-WebKit-CSP - X-XSS-Protection type: string type: array required: - type type: object required: - allowSampling - cookies - customHeaders - standardHeaders type: object x-akamai: file-path: schemas/header-logging.yaml pragmaHeader: additionalProperties: false description: Contains the configuration version level settings for the `Pragma` header. properties: action: description: The action to perform when a user passes a `Pragma` header. The only action currently supported is `REMOVE`. enum: - REMOVE type: string conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string excludeCondition: description: The conditions to exclude from the default `remove` action. Any condition you set in this object appears in the `Pragma` header debug response object. items: additionalProperties: false properties: header: description: The name of the request header. In the example, `accept`. type: string name: description: The name of the request header to ignore from inspection. In the example, `type`. type: string positiveMatch: description: When `true`, matches the selected values. When `false`, matches on anything outside the selected values. type: boolean type: description: The header value you want to appear in the response. You can choose from `requestHeaderValueMatch`, `ipMatch`, `networkList`, or `queryParamNameValueMatch`. enum: - requestHeaderValueMatch - ipMatch - networkList - queryParamNameValueMatch type: string useHeaders: description: Whether the condition should include the `X-Forwarded-For` header (XFF) header. This only applies when the condition `type` is `IP_MATCH` or `NETWORK_LIST`. type: boolean value: description: List of header values, query parameter values, IP addresses, or names of network lists. To manage networks lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api). items: type: string type: array valueCase: description: Whether to consider the case-sensitivity of the provided header value. This only applies when the condition `type` is `REQUEST_HEADER_VALUE_MATCH`. type: boolean valueWildcard: description: Whether the provided header value includes wildcards, such as `*` or `?`. This only applies to the `REQUEST_HEADER_VALUE_MATCH` condition type. type: boolean required: - type - positiveMatch - value type: object type: array override: description: Whether `Pragma` header override is enabled or disabled. type: boolean required: - action type: object x-akamai: file-path: schemas/pragma-header.yaml prefetch: additionalProperties: false description: Contains the configuration version level prefetch settings. Use this object to apply application firewall rules and rate controls to prefetch requests. properties: allExtensions: description: Whether to enable the prefetch settings for all file extensions. This only applies if the `enableAppLayer` field is `true`. type: boolean enableAppLayer: description: Whether to enable the application layer rules for the prefetch requests. type: boolean enableRateControls: description: Whether to enable the rate controls for the prefetch requests. type: boolean extensions: description: The file extensions to apply the settings to. This only applies if the `enableAppLayer` field is `true`. items: type: string type: array required: - allExtensions - enableAppLayer - extensions - enableRateControls type: object requestBody: additionalProperties: false description: Contains the configuration version level settings for request body inspection limit. properties: requestBodyInspectionLimitInKB: description: Request body size in KB, either `8`, `16`, or `32` as string-formatted integers, or `default` to use Akamai's best practice value. enum: - '8' - '16' - '32' - default type: string type: object x-akamai: file-path: schemas/request-body.yaml required: - logging - prefetch type: object x-akamai: file-path: schemas/export-advanced-options.yaml basedOn: description: The version from which you cloned this version. If it's the first version, this field is omitted from the response. type: integer configId: description: Uniquely identifies each security configuration. type: integer configName: description: The name that you assign to the security configuration. type: string createDate: description: The date when you created the security configuration. type: string createdBy: description: The user who created the configuration version. type: string customDenyList: description: The list of custom deny actions in the configuration version. items: additionalProperties: false description: Contains details about custom deny actions. properties: customDenyList: description: A list of custom deny actions in this configuration version. items: additionalProperties: false description: Contains details about a custom deny action. properties: description: description: Describes the custom deny action. type: string id: description: __Read-only__ Uniquely identifies the custom deny action. readOnly: true type: string name: description: The name you assigned to the custom deny action. type: string parameters: description: Describes the custom deny parameters. items: additionalProperties: false description: Contains a list of parameters for the custom deny action. These parameters are not the same type of parameters you usually include in the path of a request. properties: displayName: description: The description of the custom deny parameter. type: string name: description: The custom deny parameter you choose instead of the Akamai default response. For available values, see [Deny name values](https://techdocs.akamai.com/application-security/reference/deny-name-values). enum: - response_status_code - prevent_browser_cache - response_content_type - response_body_content - response_header_name - response_header_value - custom_deny_hostname - custom_deny_path - include_true_ip - include_reference_id type: string value: description: The value you assign to the custom deny parameter. For available values, see [Deny name values](https://techdocs.akamai.com/application-security/reference/deny-name-values). type: string required: - name - value type: object type: array required: - name - parameters type: object x-akamai: file-path: schemas/custom-deny.yaml type: array type: object x-akamai: file-path: schemas/custom-denies.yaml type: array customRules: description: The custom rule details in the configuration version. items: additionalProperties: false description: Contains custom rule settings of the exported security configuration. properties: conditions: description: Contains the details about the condition that triggers the custom rule. items: additionalProperties: false properties: positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The type of condition. See [CustomRule condition type values](https://techdocs.akamai.com/application-security/reference/condition-type-values). enum: - cookieMatch - extensionMatch - filenameMatch - ipMatch - pathMatch - requestHeaderMatch - requestMethodMatch - requestProtocolVersionMatch - uriQueryMatch - headerOrderMatch - argsPostMatch - argsPostJSONMatch - argsPostJSONNamesMatch - argsPostXMLMatch - argsPostNamesMatch - clientCertPresentMatch - clientCertValidMatch - clientTlsFingerprintMatch - hostMatch - ipAddressMatch - geoMatch - asNumberMatch - clientListMatch type: string useXForwardForHeaders: description: Whether the condition includes `X-Forwarded-For` (XFF) header. This only applies when the `type` is `ipAddressMatch`, `geoMatch`, or `asNumberMatch`. type: boolean value: description: The value that triggers the condition when matched or not matched. The `value` can either be a string or an array. oneOf: - description: The value that triggers the condition when matched or not matched. The `value` can either be a string or an array. items: type: string title: Array type: array - description: The value that triggers the condition when matched or not matched. The `value` can either be a string or an array. title: String type: string required: - type - positiveMatch - value type: object type: array description: description: The custom rule description. type: string id: description: __Read-only__ Uniquely identifies the rule. readOnly: true type: integer inspectRequest: description: __Read-only__ Whether to inspect the HTTP request for unstructured custom rules. readOnly: true type: boolean inspectResponse: description: __Read-only__ Whether to inspect the HTTP response for unstructured custom rules. readOnly: true type: boolean loggingOptions: description: The specific conditions to be logged. items: additionalProperties: false description: Condition to be logged. properties: id: description: The unique identifier for each logging option. See [Logging option values](https://techdocs.akamai.com/application-security/reference/logging-option-values). enum: - CLIENT_TLS_FINGERPRINT_MATCH - HEADER_ORDER_MATCH - REQUEST_HEADER_MATCH - COOKIE_MATCH - URI_QUERY_MATCH - ARGS_POST_MATCH type: string name: description: A description of the logging option type. type: string value: description: The value on which to match when determining whether to log the custom rule condition. type: string required: - id type: object x-akamai: file-path: schemas/logging-option.yaml type: array metadata: description: __Read-only__ The metadata you provided for unstructured custom rules. readOnly: true type: string name: description: The custom rule name. type: string operation: description: 'Set to `OR` to match on any condition, or set to `AND` to match all of them. - `AND`: All conditions in the custom rule must be true for the rule to be applied. - `OR`: At least one condition in the custom rule must be true for the rule to be applied.' enum: - AND - OR type: string ruleActivated: description: __Read-only__ Whether the rule is active in the configuration. readOnly: true type: boolean stagingOnly: description: Whether to show traffic from only the staging network, or all traffic. The default setting is `false` and only shows in the response when `true`. type: boolean structured: description: __Read-only__ Whether you created the rule with the structured custom rule builder or free-form XML. readOnly: true type: boolean tag: description: The list of the labels you assigned to the custom rule. items: type: string type: array version: description: The custom rule version. type: integer required: - name type: object x-akamai: file-path: schemas/export-custom-rules.yaml type: array errorHosts: description: Specifies the set of hostnames unavailable for protection in this configuration version. items: additionalProperties: false properties: hostname: description: The hostname unavailable for protection. type: string reason: description: Describes why WAF can't protect the hostname. type: string reasonCode: description: The HTTP error code indicating why WAF can't protect the hostname. type: integer required: - hostname - reason - reasonCode type: object type: array evaluating: additionalProperties: false description: Describes security controls and information for hostnames you want to evaluate. properties: securityPolicies: description: The evaluation policy details in the configuration version. items: additionalProperties: false description: Contains details about the Evaluation Policy settings in the exported configuration version. properties: effectiveSecurityControls: additionalProperties: false description: __Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy. properties: applyApiConstraints: description: Whether you enabled API constraints. type: boolean applyApplicationLayerControls: description: Whether you enabled application layer controls. type: boolean applyBotmanControls: description: Whether you enabled Bot Manager controls. type: boolean applyNetworkLayerControls: description: Whether you enabled network layer controls. type: boolean applyRateControls: description: Whether you enabled rate controls. type: boolean applyReputationControls: description: Whether you enabled reputation controls. type: boolean applySlowPostControls: description: Whether you enabled slow post controls. type: boolean readOnly: true required: - applyApplicationLayerControls - applyNetworkLayerControls - applyRateControls - applyReputationControls - applyBotmanControls - applyApiConstraints - applySlowPostControls type: object x-akamai: file-path: schemas/security-controls.yaml hostnames: description: The evaluation hostnames in the configuration version. items: type: string type: array id: description: Security Policy ID. type: string required: - effectiveSecurityControls - id - hostnames type: object x-akamai: file-path: schemas/export-eval-policy.yaml type: array type: object malwarePolicies: description: The malware policy details for a configuration version. items: additionalProperties: false description: Contains details about a malware policy. properties: allowListId: description: The ID of a client list containing file hashes of specific files to allow. type: string blockListId: description: The ID of a client list containing file hashes of specific files to block. type: string contentTypes: description: The content types and encodings to match. items: additionalProperties: false properties: encodedContentAttributes: description: An optional list of encoded attribute paths. items: additionalProperties: false properties: encoding: description: The encodings used for the attribute path. Currently only `base64` is supported. items: enum: - base64 type: string type: array path: description: The JSONPath to an attribute with encoded content. The path must point to a single item, and may not include the `$`, `..`, `?` or `*` operators. type: string type: object type: array name: description: The name of the content type. type: string required: - name type: object type: array description: description: Descriptive text you provide about a policy. type: string hostnames: description: The hostnames to match. This is where you want the malware detections to focus. items: type: string type: array id: description: __Read-only__ Uniquely identifies each malware policy. readOnly: true type: integer logFilename: default: false description: Whether to log the name of the file that triggered an `alert` or `deny` action. type: boolean name: description: The name you assign to a malware policy. type: string paths: description: The paths to match. You can use the `?` and `*` wildcards anywhere in a path. items: type: string type: array required: - name - hostnames - paths type: object x-akamai: file-path: schemas/malware-policy.yaml type: array matchTargets: additionalProperties: false description: The match target details in the configuration version. properties: apiTargets: description: The list of `api` match targets. items: additionalProperties: false description: Contains details about a match target in the exported configuration version. properties: apis: description: The list of API endpoint identifiers and names. This applies only for `api` match targets. items: additionalProperties: false properties: id: description: Uniquely identifies the API endpoint. type: integer name: description: The API endpoint name. type: string required: - id type: object type: array bypassNetworkLists: description: The network lists' identifiers and names in the match target. items: additionalProperties: false properties: id: description: Uniquely identifies the network list. type: string name: description: The name you assigned to the network list. type: string required: - id type: object type: array defaultFile: default: NO_MATCH description: Describes the rule to match on paths. Either `NO_MATCH` not to match on the default file, `BASE_MATCH` to match only requests for top-level hostnames ending in a trailing slash, or `RECURSIVE_MATCH` to match all requests for paths that end in a trailing slash. The default value is `NO_MATCH`. enum: - NO_MATCH - BASE_MATCH - RECURSIVE_MATCH type: string effectiveSecurityControls: additionalProperties: false description: __Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy. properties: applyApiConstraints: description: Whether you enabled API constraints. type: boolean applyApplicationLayerControls: description: Whether you enabled application layer controls. type: boolean applyBotmanControls: description: Whether you enabled Bot Manager controls. type: boolean applyNetworkLayerControls: description: Whether you enabled network layer controls. type: boolean applyRateControls: description: Whether you enabled rate controls. type: boolean applyReputationControls: description: Whether you enabled reputation controls. type: boolean applySlowPostControls: description: Whether you enabled slow post controls. type: boolean readOnly: true required: - applyApplicationLayerControls - applyNetworkLayerControls - applyRateControls - applyReputationControls - applyBotmanControls - applyApiConstraints - applySlowPostControls type: object x-akamai: file-path: schemas/security-controls.yaml fileExtensions: description: The list of file extensions to apply the match target to. items: type: string type: array filePaths: description: The list of file paths to apply the match target to. items: type: string type: array hostnames: description: The list of hostnames to protect. items: type: string type: array id: description: Uniquely identifies the match target. type: integer isNegativeFileExtensionMatch: description: Whether the match target applies when a match is found in the specified `fileExtensions` or when a match isn't found. type: boolean isNegativePathMatch: description: Whether the match target applies when a match is found in the specified `filePaths` or when a match isn't found. type: boolean securityPolicy: additionalProperties: false description: The security policy associated with the match target. properties: policyId: description: Uniquely identifies the security policy. type: string required: - policyId type: object sequence: description: The match target's position in the sequence of match targets. type: integer type: description: The type of match target. Either `website` or `api`. enum: - website - api type: string validations: additionalProperties: false description: __Read-only__ Contains details about warnings, errors, or notices determined by a validation of this resource. properties: errors: description: The list of errors. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array notices: description: The list of notices. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array warnings: description: The list of warnings. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array readOnly: true required: - notices - errors - warnings type: object x-akamai: file-path: schemas/validations.yaml required: - type - securityPolicy type: object x-akamai: file-path: schemas/export-match-target.yaml type: array websiteTargets: description: The list of `website` match targets. items: additionalProperties: false description: Contains details about a match target in the exported configuration version. properties: apis: description: The list of API endpoint identifiers and names. This applies only for `api` match targets. items: additionalProperties: false properties: id: description: Uniquely identifies the API endpoint. type: integer name: description: The API endpoint name. type: string required: - id type: object type: array bypassNetworkLists: description: The network lists' identifiers and names in the match target. items: additionalProperties: false properties: id: description: Uniquely identifies the network list. type: string name: description: The name you assigned to the network list. type: string required: - id type: object type: array defaultFile: default: NO_MATCH description: Describes the rule to match on paths. Either `NO_MATCH` not to match on the default file, `BASE_MATCH` to match only requests for top-level hostnames ending in a trailing slash, or `RECURSIVE_MATCH` to match all requests for paths that end in a trailing slash. The default value is `NO_MATCH`. enum: - NO_MATCH - BASE_MATCH - RECURSIVE_MATCH type: string effectiveSecurityControls: additionalProperties: false description: __Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy. properties: applyApiConstraints: description: Whether you enabled API constraints. type: boolean applyApplicationLayerControls: description: Whether you enabled application layer controls. type: boolean applyBotmanControls: description: Whether you enabled Bot Manager controls. type: boolean applyNetworkLayerControls: description: Whether you enabled network layer controls. type: boolean applyRateControls: description: Whether you enabled rate controls. type: boolean applyReputationControls: description: Whether you enabled reputation controls. type: boolean applySlowPostControls: description: Whether you enabled slow post controls. type: boolean readOnly: true required: - applyApplicationLayerControls - applyNetworkLayerControls - applyRateControls - applyReputationControls - applyBotmanControls - applyApiConstraints - applySlowPostControls type: object x-akamai: file-path: schemas/security-controls.yaml fileExtensions: description: The list of file extensions to apply the match target to. items: type: string type: array filePaths: description: The list of file paths to apply the match target to. items: type: string type: array hostnames: description: The list of hostnames to protect. items: type: string type: array id: description: Uniquely identifies the match target. type: integer isNegativeFileExtensionMatch: description: Whether the match target applies when a match is found in the specified `fileExtensions` or when a match isn't found. type: boolean isNegativePathMatch: description: Whether the match target applies when a match is found in the specified `filePaths` or when a match isn't found. type: boolean securityPolicy: additionalProperties: false description: The security policy associated with the match target. properties: policyId: description: Uniquely identifies the security policy. type: string required: - policyId type: object sequence: description: The match target's position in the sequence of match targets. type: integer type: description: The type of match target. Either `website` or `api`. enum: - website - api type: string validations: additionalProperties: false description: __Read-only__ Contains details about warnings, errors, or notices determined by a validation of this resource. properties: errors: description: The list of errors. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array notices: description: The list of notices. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array warnings: description: The list of warnings. items: additionalProperties: false description: Contains feedback on validation. properties: detail: description: The explanation of the error message. type: string fieldName: description: The name of the field causing the validation problem. type: string jsonReference: description: The JSON reference to the field in the resource. type: string title: description: The title for the error. example: Not Found type: string type: description: The URL for the error type. example: /appsec/problem-types/INCOMPATIBLE-FIELD type: string required: - title - type type: object x-akamai: file-path: schemas/validation.yaml type: array readOnly: true required: - notices - errors - warnings type: object x-akamai: file-path: schemas/validations.yaml required: - type - securityPolicy type: object x-akamai: file-path: schemas/export-match-target.yaml type: array required: - apiTargets - websiteTargets type: object x-akamai: file-path: schemas/export-match-targets.yaml production: additionalProperties: false description: Specifies the configuration version's activation status on the production network. properties: action: description: The action you performed on the configuration version. Either `ACTIVATE` or `DEACTIVATE`. enum: - ACTIVATE - DEACTIVATE type: string status: description: The activation status. Either `Pending`, `Active`, `Inactive`, `Deactivated`, or `Failed`. enum: - Pending - Active - Inactive - Deactivated - Failed type: string time: description: The ISO 8601 timestamp when you activated the configuration version. type: string required: - status type: object ratePolicies: description: The rate policy details in the configuration version. items: additionalProperties: false description: Contains details about a rate policy. properties: additionalMatchOptions: description: The list of additional match conditions. items: additionalProperties: false properties: positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The match condition type. The `RequestHeaderCondition` listed here is deprecated. Specify `RequestHeaderCondition` as an `atomicCondition` to match on request headers. See [Export match condition type values](https://techdocs.akamai.com/application-security/reference/cndval). enum: - IpAddressCondition - NetworkListCondition - RequestHeaderCondition - RequestMethodCondition - ResponseHeaderCondition - ResponseStatusCondition - UserAgentCondition - AsNumberCondition type: string values: description: The list of values that trigger the condition on match. items: type: string type: array required: - type - positiveMatch - values type: object type: array apiSelectors: description: The API endpoints to match in incoming requests. This only applies to the `api` `matchType`. items: additionalProperties: false properties: apiDefinitionId: description: Uniquely identifies each API endpoint. type: integer definedResources: description: When `true`, match on any resource explicitly added to your API definition without including a `resourceId`. When `false`, you'll need to pass a `resourceId`. type: boolean resourceIds: description: The unique identifiers of the endpoint's resources. items: type: integer type: array undefinedResources: description: When `true`, match on any resource you have not explicitly added to your API definition without including a `resourceId`. When `false`, you'll need to pass a `resourceId`. type: boolean required: - apiDefinitionId type: object type: array averageThreshold: description: The allowed hits per second during any two-minute interval. minimum: 1 type: integer bodyParameters: description: The list of body parameters to match on. items: additionalProperties: false properties: name: description: The name you assign to a body parameter. type: string positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean valueInRange: description: Whether to match a value inside or outside a range. The range format is `min:max` — for example, `2:4`. type: boolean values: description: The body parameter values. items: type: string type: array required: - name - values - positiveMatch type: object type: array burstThreshold: description: The allowed hits per second during any five-second interval. minimum: 1 type: integer burstWindow: description: The time span for the `burstThreshold` interval. For existing rate policies, analyze your traffic in Alert mode before you reduce the measure window from 5 seconds. [Learn more about thresholds here](https://techdocs.akamai.com/kona-site-defender/docs/rate-thresholds). maximum: 5 minimum: 1 type: integer clientIdentifier: deprecated: true description: __Deprecated__ The client identifier you want to use to identify and track request senders. The value is required only for WAF type, and `api-key` is supported only for API match criteria. Using `ip-useragent` is typically more specific than using `ip` alone when trying to identify a client. Tracking by `cookie:value` applies to requests per individual session, even if the IP address changes. This field will be removed in future releases. Use `clientIdentifiers` instead. minLength: 0 type: string x-akamai: status: DEPRECATED clientIdentifiers: description: Client identifiers to track request senders. The value is required only for WAF type, and `api-key` is supported only for API match criteria. Using `ip-useragent` is typically more specific than using `ip` alone when trying to identify a client. Tracking by `cookie:value` applies to requests per individual session, even if the IP address changes. Specify `request-header:value` to track by a named request header, like `User-Agent`. Use `query-string:value` to track by a specific named query parameter. The `tls-fingerprint` identifier is available for traffic transmitted using secure transport (HTTPS). items: enum: - api-key - cookie:value - ip - request-header:value - tls-fingerprint - query-string:value type: string minItems: 0 type: array condition: additionalProperties: false description: Contains information about the criteria that trigger the rate policy. properties: atomicConditions: description: The conditions that trigger the rate policy. Specify one or more request headers, TLS fingerprints, or client reputation categories. items: oneOf: - additionalProperties: false description: Collects data needed for condition matches on request headers. properties: className: description: The type of condition. The `RequestHeaderCondition` type checks for a header from the requesting client and determines if it matches a provided header. This subtype supports the `?` wildcard to match any single character and the `*` wildcard to match any sequence of 0 or more characters. You can also match on case sensitivity. enum: - RequestHeaderCondition type: string name: description: A header name. Use `name` to check whether the specified header exists. items: minLength: 1 type: string minItems: 1 type: array uniqueItems: true nameWildcard: description: Whether to interpret `?` and `*` as wildcards. type: boolean positiveMatch: description: Whether the condition triggers on a match or lack of match. type: boolean value: description: A list of unique header values. Use both `value` and `name` to check whether the requesting client’s header matches a provided header. items: minLength: 1 type: string nullable: true type: array uniqueItems: true valueCase: description: Whether to consider the case sensitivity of the provided header values. type: boolean valueWildcard: description: Whether to interpret `?` and `*` as wildcards. type: boolean required: - className - name title: RequestHeaderCondition type: object x-akamai: file-path: schemas/request-header-condition-2.yaml - additionalProperties: false description: Collects data needed for condition matches on TLS fingerprints. properties: className: description: The type of condition. In this case, `TlsFingerprintCondition`. enum: - TlsFingerprintCondition type: string positiveMatch: description: Whether the condition triggers on a match or lack of match. type: boolean value: description: A list of unique TLS fingerprints. items: minLength: 1 type: string minItems: 1 type: array uniqueItems: true required: - className - value title: TlsFingerprintCondition type: object x-akamai: file-path: schemas/tls-fingerprint-condition.yaml - additionalProperties: false description: Collects data needed for condition matches on Client Reputation. properties: className: description: The type of condition. In this case, `ClientReputationCondition`. enum: - ClientReputationCondition type: string name: description: Identifies the reputation category. Web scrapers (`WEBSCRP`) crawl sites and collect data like hotel rates, product prices, store locations, and more. DoS attackers (`DOSATCK`) are web clients or botnets that use automated tools to launch volumetric Denial of Service (DoS) attacks. Web attackers (`WEBATCK`) target websites and web apps with techniques like SQL injection, remote file inclusion, or cross-site scripting. Scanning tools (`SCANTL`) probe web apps for vulnerabilities during an attack's reconnaissance phase. items: enum: - WEBSCRP - DOSATCK - WEBATCK - SCANTL type: string minItems: 1 type: array uniqueItems: true positiveMatch: description: Whether the condition triggers on a match or lack of match. type: boolean sharedIpHandling: description: Identifies the IP sharing. Either `NON_SHARED`, `SHARED_ONLY`, `BOTH`. enum: - NON_SHARED - SHARED_ONLY - BOTH type: string value: description: Threshold value that causes the trigger. maximum: 10 minimum: 1 type: number required: - className - name - value - sharedIpHandling title: ClientReputationCondition type: object x-akamai: file-path: schemas/client-reputation-condition.yaml minItems: 1 type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: object counterType: default: per_edge description: The rate policy counter type. Either `per_edge` for rate limiting to work per edge node, or `region_aggregated` for rate limiting to work using aggregated rate accounting across multiple edge nodes. enum: - per_edge - region_aggregated type: string createDate: description: __Read-only__ The time stamp when you created the rate policy. example: '2016-07-22T18:57:08.00Z' format: date-time readOnly: true type: string description: description: Descriptive text you provide about a policy. type: string evaluation: additionalProperties: false description: Contains details about rate policy evaluation. properties: averageThreshold: description: The allowed hits per second during any two-minute interval during evaluation. minimum: 1 type: integer burstThreshold: description: The allowed hits per second during any five-second interval during evaluation. minimum: 1 type: integer burstWindow: description: __Read-only__ The time span for the `burstThreshold` interval used during evaluation. This value is always set to the `burstWindow` specified by the main rate policy. readOnly: true type: integer counterType: default: region_aggregated description: The evaluation rate policy counter type. Either `per_edge` for rate limiting to work per edge node, or `region_aggregated` for rate limiting to work using aggregated rate accounting across multiple edge nodes. enum: - per_edge - region_aggregated type: string endDate: description: __Read-only__ The time stamp when evaluation ends. format: date-time readOnly: true type: string evaluationId: description: __Read-only__ Uniquely identifies an evaluation. readOnly: true type: integer evaluationStatus: description: __Read-only__ Reflects evaluation status, either `in_progress`, `pending_activation`, or `completed`. enum: - in_progress - pending_activation - completed readOnly: true type: string startDate: description: __Read-only__ The time stamp when evaluation starts. format: date-time readOnly: true type: string version: description: __Read-only__ Evaluation version. readOnly: true type: integer required: - averageThreshold - burstThreshold type: object fileExtensions: additionalProperties: false description: Contains the file extension match criteria. properties: positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean values: description: The file extensions to match on. items: type: string type: array required: - positiveMatch - values type: object hostnames: description: __Deprecated__. The hostnames to match. This array is deprecated. Use the `hosts` object instead. items: type: string type: array hosts: additionalProperties: false description: The hostnames to match, and whether to trigger on a match or absence of match. properties: positiveMatch: default: true description: When `true`, triggers on hostnames that match any hostnames in this array. When `false`, triggers on hostnames that don't match any in this array. type: boolean values: description: The hostnames you choose to match, or specifically not match. items: type: string type: array required: - positiveMatch - values type: object id: description: __Read-only__ Uniquely identifies each rate policy. readOnly: true type: integer matchType: description: The match type in a rate policy. Either `path` to match website paths or `api` to match API paths. enum: - path - api type: string name: description: The name you assign to a rate policy. type: string path: additionalProperties: false description: Contains details about the path match criteria. properties: positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean values: description: The list of paths to match on. items: type: string type: array required: - positiveMatch - values type: object pathMatchType: description: The type of paths to match in incoming requests. Either `AllRequests` to match an empty path or any path that ends in a trailing slash (`/`), `TopLevel` to match top-level hostnames only, or `Custom` to match a specific path or path component. This applies only when the corresponding `matchType` member is `path`. Specify `RequestDisabled` to bypass matching on a path. enum: - AllRequests - TopLevel - Custom - RequestDisabled type: string pathUriPositiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean penaltyBoxDuration: default: TEN_MINUTES description: The duration of the penalty box. Either `TEN_MINUTES`, `THIRTY_MINUTES`, `ONE_HOUR`, `FOUR_HOURS`, `SIX_HOURS`, `TWELVE_HOURS`, or `TWENTY_FOUR_HOURS`. Only applicable when the `counterType` is `region_aggregated`. enum: - TEN_MINUTES - THIRTY_MINUTES - ONE_HOUR - FOUR_HOURS - SIX_HOURS - TWELVE_HOURS - TWENTY_FOUR_HOURS type: string queryParameters: description: The list of query parameter objects to match on. items: additionalProperties: false properties: name: description: The query parameter name. type: string positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean valueInRange: description: Whether to match a value inside or outside a range. The range format is `min:max` — for example, `2:4`. type: boolean values: description: The list of query parameter values. items: type: string type: array required: - name - values - positiveMatch type: object type: array requestType: description: The type of requests to count towards the rate policy's thresholds. Either `ClientRequest` to count client requests to edge servers, `ClientResponse` to count edge responses to the client, `ForwardResponse` to count origin responses to the client, or `ForwardRequest` to count edge requests to your origin. enum: - ClientRequest - ClientResponse - ForwardResponse - ForwardRequest type: string sameActionOnIpv6: description: Whether to apply the same action to the IPv6 traffic as to the IPv4 traffic. type: boolean type: description: The rate policy type. Either `WAF` for Web Application Firewall, or `BOTMAN` for Bot Manager. enum: - WAF - BOTMAN type: string updateDate: description: __Read-only__ The ISO 8601 timestamp when you last updated the rate policy. example: '2017-02-22T00:05:41.00Z' format: date-time readOnly: true type: string useXForwardForHeaders: description: Whether to check the contents of the `X-Forwarded-For` header in incoming requests. type: boolean used: description: __Read-only__ Whether you're currently using the rate policy. readOnly: true type: boolean required: - matchType - type - name - averageThreshold - burstThreshold - clientIdentifier - requestType - sameActionOnIpv6 - pathMatchType type: object x-akamai: file-path: schemas/rate-policy.yaml type: array reputationProfiles: description: The reputation profile details in the configuration version. items: additionalProperties: false description: Describes reputation profile objects when returned in the configuration export API's response. properties: condition: additionalProperties: false description: Contains information about the criteria that trigger the reputation profile. properties: atomicConditions: description: The conditions that trigger the reputation profile. items: additionalProperties: false properties: checkIps: description: Use `both` to include the `X-Forwarded-For` (XFF) header and the client’s IP address. Use `connecting` to exclude the XFF header. The XFF header is easily spoofed, so only include it in rare cases. enum: - connecting - both type: string className: description: The condition type. Either `NetworkListCondition`, `AsNumberCondition`, `IpAddressCondition`, `RequestCookieCondition`, `RequestHeaderCondition`, `HostCondition`, or `UrlPatternCondition`. enum: - NetworkListCondition - AsNumberCondition - IpAddressCondition - RequestCookieCondition - RequestHeaderCondition - HostCondition - UrlPatternCondition type: string host: description: A list of hostnames. This only applies to the `HostCondition` `className`. items: description: A hostname. minLength: 1 type: string minItems: 1 type: array uniqueItems: true index: description: The location of the parameter's data within the array. type: integer name: description: The condition value of `name`. This only applies to the `RequestHeaderCondition`, and `RequestCookieCondition` condition `className`. oneOf: - title: Single name type: string - items: type: string title: Array of names type: array nameCase: description: Whether to consider the case sensitivity of the provided query names. type: boolean nameWildcard: description: Whether the provided value of `name` is a wildcard. This only applies to the `RequestHeaderCondition`, and `RequestCookieCondition` condition `className`. type: boolean positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean value: description: The list of values that trigger the condition. items: type: string minItems: 1 type: array uniqueItems: true valueCase: default: false description: Whether to consider the character case when comparing the value string with the request value. The default is `false`, meaning that a value such as `url` would match a string `UrL` in the request. type: boolean valueWildcard: default: true description: Whether to treat the asterisk (`*`) and question mark (`?`) as wildcards when comparing the value string with the request value. Note that setting this to `false` isn't supported by the host condition, and means that the value string must match exactly. type: boolean required: - className - positiveMatch - value type: object type: array canDelete: description: Whether the condition can be deleted. type: boolean configVersionId: description: Unique identifier of the config version. type: integer description: description: Describes the reputation profile condition. type: string id: description: Uniquely identifies the reputation profile condition. type: integer name: description: The name you assigned to the reputation profile condition. type: string positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean uuid: description: The universally unique identifier (UUID) of the reputation profile condition. type: string version: description: The version of the reputation profile condition. type: integer required: - id - version type: object context: description: Identifies the reputation category. Either `WEBSCRP`, `DOSATCK`, `WEBATCK`, `ACCATCK`, `SCANTL`, `2_WEBSCRP`, `2_DOSATCK`, `2_WEBATCK`, `2_ACCATCK`, or `2_SCANTL`. enum: - WEBSCRP - DOSATCK - WEBATCK - ACCATCK - SCANTL - 2_WEBSCRP - 2_DOSATCK - 2_WEBATCK - 2_ACCATCK - 2_SCANTL type: string contextReadable: description: __Read-only__ Describes the reputation category. readOnly: true type: string description: description: Describes the reputation profile. type: string enabled: description: __Read-only__ Whether you enabled the reputation profile. readOnly: true type: boolean id: description: __Read-only__ Uniquely identifies the reputation profile. readOnly: true type: integer name: description: The name you assigned to the reputation profile. type: string threshold: description: The threshold when the profile to triggers. type: number required: - id - name - context - threshold type: object x-akamai: file-path: schemas/export-reputation-profiles.yaml type: array rulesets: description: The ruleset details in the configuration version. items: additionalProperties: false description: Contains ruleset version details. properties: attackGroups: description: The list of attack groups in the ruleset. items: additionalProperties: false properties: group: description: Identifies the attack group. type: string groupName: description: The name of the attack group. type: string threshold: description: The risk score threshold. When a request has a score above this threshold, the action set in the security policy for this risk group triggers. type: integer required: - threshold - groupName - group type: object type: array id: description: Uniquely identifies the ruleset. type: integer releaseDate: description: The ISO 8601 timestamp indicating when the ruleset was released. type: string rules: description: The list of rules in the ruleset. items: additionalProperties: false properties: attackGroups: description: The attack groups that the rule belongs to. items: type: string type: array id: description: Uniquely identifies the rule. type: integer inspectRequestBody: description: Whether to inspect the request body. type: boolean inspectResponseBody: description: Whether to inspect the response body. type: boolean ruleVersion: description: The rule's version. type: integer score: description: The risk score for the rule. type: number tag: description: The tag you assigned to the rule. type: string title: description: The rule title. type: string required: - id - inspectRequestBody - inspectResponseBody - ruleVersion - score - tag - title type: object type: array rulesetVersionId: description: Uniquely identifies the ruleset version. type: integer type: description: The ruleset type. The only available value is `Kona`. enum: - Kona type: string required: - id - rulesetVersionId - type - releaseDate - attackGroups - rules type: object x-akamai: file-path: schemas/export-rule-sets.yaml type: array securityPolicies: description: The security policies in the configuration version. items: additionalProperties: false description: Contains settings for custom rule actions. properties: apiRequestConstraints: additionalProperties: false description: The API request constraint action set in this policy. The action applies to the APIs associated with this policy via the API match targets. properties: action: description: The action will be returned in the `apiEndpoints` array on a per-API basis. This is retained for backward compatibility. minLength: 1 type: string apiEndpoints: description: The list of APIs covered by match target set in the security policy. items: additionalProperties: false properties: action: description: The action to take for the requests that violate the constraints. minLength: 1 type: string id: description: Uniquely identifies the API match target. minimum: 0 type: integer required: - action - id type: object minItems: 0 type: array required: - action - apiEndpoints type: object clientReputation: additionalProperties: false description: Contains details about the reputation profile actions. properties: reputationProfileActions: description: The list of reputation profile actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when the request exceeds the threshold set in the reputation profile. minLength: 1 type: string id: description: Uniquely identifies the reputation profile. minimum: 0 type: integer required: - action - id type: object minItems: 0 type: array required: - reputationProfileActions type: object customRuleActions: description: The list of custom rule actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when a request meets the custom rule conditions. minLength: 1 type: string id: description: Uniquely identifies the custom rule. minimum: 0 type: integer required: - action - id type: object minItems: 0 type: array evaluationPenaltyBox: additionalProperties: false description: Contains action settings for penalty box protection. properties: action: oneOf: - description: 'The action to take when penalty box protection is triggered: `alert` to record the trigger event, `abort` to block the request, or `none` to take no action. Ignored if `penaltyBoxProtection` is set to `false`.' enum: - alert - abort - none title: action type: string - description: 'The custom deny action to take when penalty box protection is triggered: `deny_custom_{custom_deny_id}` to execute a custom deny action. Ignored if `penaltyBoxProtection` is set to `false`.' pattern: deny_custom_{\d+} title: custom action type: string penaltyBoxProtection: description: Specifies whether penalty box protection is enabled for the security policy. When set to `true` the `action` occurs if triggered by a request. type: boolean required: - penaltyBoxProtection - action type: object x-akamai: file-path: schemas/penalty-box.yaml hasRatePolicyWithApiKey: description: Whether the security policy has a rate policy with an `API_KEY` client identifier. You can manage APIs using the [API Endpoint Definition API](https://techdocs.akamai.com/api-gateway/reference/api). type: boolean id: description: Uniquely identifies the security policy. minLength: 1 type: string ipGeoFirewall: additionalProperties: false description: The status of IP and geographic controls defined in the security policy. properties: block: description: The directive for blocking IP addresses. Either `blockSpecificIPGeo` to block specific IPs unless they're in block exceptions, or `blockAllTrafficExceptAllowedIPs` to block all traffic apart from the IPs in block exceptions. enum: - blockSpecificIPGeo - blockAllTrafficExceptAllowedIPs type: string geoControls: additionalProperties: false description: Contains details about the geographic regions to block. properties: blockedGeoNetworkLists: additionalProperties: false description: The geo network lists and specific geographic locations to block. properties: additional: description: The specific geographic locations to block. items: type: string type: array networkList: description: The geo network lists to block. items: type: string type: array required: - networkList - additional type: object required: - blockedGeoNetworkLists type: object ipControls: additionalProperties: false description: Contains details about the allowed and blocked IP network lists. properties: allowedIPNetworkLists: additionalProperties: false description: The collection of IPs and network lists to allow. properties: additional: description: The specific IPs to allow. items: type: string type: array networkList: description: The IP network lists to allow. items: type: string type: array required: - networkList - additional type: object blockedIPNetworkLists: additionalProperties: false description: The collection of IPs and network lists to block. properties: additional: description: The specific IPs to block. items: type: string type: array networkList: description: The IP network lists to block. items: type: string type: array required: - networkList - additional type: object required: - blockedIPNetworkLists - allowedIPNetworkLists type: object ukraineGeoControl: additionalProperties: false description: The settings for requests to and from Ukraine. properties: action: description: "The type of action to take for the Donetsk and Luhansk regions of Ukraine. Value is one of:\n - `deny`. Default. Blocked traffic gets a `403` response.\n - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response.\n - `alert`. Records the event trigger.\n - `none`. Takes no action. \n\n
Note: As the situation in Ukraine changes, we'll update the included regions.
" pattern: ^(deny|alert|none|deny_custom_\d+)$ type: string type: object x-akamai: file-path: schemas/ukraine-geo-control.yaml required: - block type: object x-akamai: file-path: schemas/network-layer-controls.yaml loggingOverrides: additionalProperties: false description: The header logging settings that override the config version level settings. properties: allowSampling: description: Whether you enabled the header data sampling. type: boolean cookies: additionalProperties: false description: The sampling settings for the cookie data. properties: type: description: The directive for including cookies. Either `all` to include all cookies, `exclude` to exclude specific cookies, `none` not to include any cookies, or `only` to include only specific cookies. enum: - all - exclude - none - only type: string values: description: The cookie names to log or exclude. This applies only when the `type` is either `only` or `exclude`. items: type: string type: array required: - type - values type: object customHeaders: additionalProperties: false description: The sampling settings for the custom headers. properties: type: description: The directive for including custom headers. Either `all` to include all custom headers, `exclude` to exclude specific custom headers, `none` not to include any custom headers, or `only` to include only specific custom headers. enum: - all - exclude - none - only type: string values: description: The custom headers to log or exclude. This applies only when the `type` is either `only` or `exclude`. items: type: string type: array required: - type - values type: object standardHeaders: additionalProperties: false description: The sampling settings for the standard headers. properties: type: description: The directive for including standard headers. Either `all` to include all standard headers, `exclude` to exclude specific standard headers, `none` not to include any standard headers, or `only` to include only specific standard headers. enum: - all - exclude - none - only type: string values: description: The standard headers to log or exclude. This is applies only when the `type` is either `only` or `exclude`. For available header values, see [Export header values](https://techdocs.akamai.com/application-security/reference/hdval). items: enum: - Accept - Accept-Charset - Accept-Encoding - Accept-Language - Accept-Ranges - Access-Control-Allow-Origin - Age - Allow - Cache-Control - Connection - Content-Disposition - Content-Encoding - Content-Language - Content-Length - Content-Location - Content-MD5 - Content-Range - Content-Security-Policy - Content-Type - Date - DNT - Etag - Expect - Expires - From - Host - If-Match - If-Modified-Since - If-None-Match - If-Range - If-Unmodified-Since - Last-Modified - Link - Location - Max-Forwards - Origin - P3P - Pragma - Proxy-Authenticate - Range - Referer - Refresh - Retry-After - Server - Strict-Transport-Security - TE - Trailer - Transfer-Encoding - Upgrade - User-Agent - Vary - Via - Warning - WWW-Authenticate - X-Content-Security-Policy - X-Content-Type-Options - X-Forwarded-For - X-Forwarded-Proto - X-Frame-Options - X-Powered-By - X-Requested-With - X-UA-Compatible - X-WebKit-CSP - X-XSS-Protection type: string type: array required: - type type: object required: - allowSampling - cookies - customHeaders - standardHeaders type: object x-akamai: file-path: schemas/header-logging.yaml malwarePolicyActions: description: The list of malware policy actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when malware is detected. minLength: 1 type: string id: description: Uniquely identifies the malware policy. minimum: 0 type: integer unscannedAction: description: The action to take when a file is outside the 5 MB scan limit and isn't scanned. minLength: 1 type: string required: - action - unscannedAction - id type: object minItems: 0 type: array name: description: The name of the security policy. minLength: 1 type: string penaltyBox: additionalProperties: false description: Contains action settings for penalty box protection. properties: action: oneOf: - description: 'The action to take when penalty box protection is triggered: `alert` to record the trigger event, `abort` to block the request, or `none` to take no action. Ignored if `penaltyBoxProtection` is set to `false`.' enum: - alert - abort - none title: action type: string - description: 'The custom deny action to take when penalty box protection is triggered: `deny_custom_{custom_deny_id}` to execute a custom deny action. Ignored if `penaltyBoxProtection` is set to `false`.' pattern: deny_custom_{\d+} title: custom action type: string penaltyBoxProtection: description: Specifies whether penalty box protection is enabled for the security policy. When set to `true` the `action` occurs if triggered by a request. type: boolean required: - penaltyBoxProtection - action type: object x-akamai: file-path: schemas/penalty-box.yaml pragmaHeader: additionalProperties: false description: Contains policy level settings for the `Pragma` header. properties: action: description: The action to perform when a user passes a `Pragma` header. The only action currently supported is `REMOVE`. enum: - REMOVE type: string conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string excludeCondition: description: The conditions to exclude from the default `remove` action. Any condition you set in this object appears in the `Pragma` header debug response object. items: additionalProperties: false properties: header: description: The name of the request header. In the example, `accept`. type: string name: description: The name of the request header to ignore from inspection. In the example, `type`. type: string positiveMatch: description: When `true`, matches the selected values. When `false`, matches on anything outside the selected values. type: boolean type: description: The header value you want to appear in the response. You can choose from `requestHeaderValueMatch`, `ipMatch`, `networkList`, or `queryParamNameValueMatch`. enum: - requestHeaderValueMatch - ipMatch - networkList - queryParamNameValueMatch type: string useHeaders: description: Whether the condition should include the `X-Forwarded-For` header (XFF) header. This only applies when the condition `type` is `IP_MATCH` or `NETWORK_LIST`. type: boolean value: description: List of header values, query parameter values, IP addresses, or names of network lists. To manage networks lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api). items: type: string type: array valueCase: description: Whether to consider the case-sensitivity of the provided header value. This only applies when the condition `type` is `REQUEST_HEADER_VALUE_MATCH`. type: boolean valueWildcard: description: Whether the provided header value includes wildcards, such as `*` or `?`. This only applies to the `REQUEST_HEADER_VALUE_MATCH` condition type. type: boolean required: - type - positiveMatch - value type: object type: array override: description: Whether `Pragma` header override is enabled or disabled. type: boolean required: - action type: object x-akamai: file-path: schemas/pragma-header.yaml rapidRules: additionalProperties: false description: Contains details about the rapid rules defined in the security policy. properties: defaultAction: description: The list of rapid rule actions, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` to apply a custom action instead of Akamai's default. Run [Modify a custom deny action](https://techdocs.akamai.com/application-security/reference/put-custom-deny) to manage your custom deny actions. If the action is `none`, the rule is inactive in the policy. oneOf: - enum: - alert - deny - none - akamai_managed title: Predefined action type: string - pattern: ^(challenge|deny_custom|serve_alt|cond_action_)_[0-9]+$ title: Configurable action type: string type: object x-akamai: file-path: schemas/rapid-rule-action.yaml enabled: description: Whether you enabled the rapid rules. type: boolean policyRules: description: Contains a list of policy rapid rules. items: additionalProperties: false properties: action: description: The list of rapid rule actions, either `alert`, `deny`, or `none`. Use `deny_custom_{custom_deny_id}` to apply a custom action instead of Akamai's default. Run [Modify a custom deny action](https://techdocs.akamai.com/application-security/reference/put-custom-deny) to manage your custom deny actions. If the action is `none`, the rule is inactive in the policy. oneOf: - enum: - alert - deny - none - akamai_managed title: Predefined action type: string - pattern: ^(challenge|deny_custom|serve_alt|cond_action_)_[0-9]+$ title: Configurable action type: string type: object x-akamai: file-path: schemas/rapid-rule-action.yaml conditionException: additionalProperties: false description: The GET Response JSON for conditions and exceptions. properties: advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml conditions: description: The conditions list for a rule. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml type: object x-akamai: file-path: schemas/condition-exception-get-200.yaml group: description: The rapid rule group. type: string x-akamai: file-path: schemas/rapid-rule-group.yaml lock: description: Whether you've locked the rapid rule's action. When locked, future versions of this rule continue to use the action you originally selected. type: boolean x-akamai: file-path: schemas/rapid-rule-lock.yaml ruleId: description: Uniquely identifies the rapid rule. type: integer x-akamai: file-path: schemas/rapid-rule-id.yaml ruleVersion: description: The rapid rule's version number. type: integer x-akamai: file-path: schemas/rapid-rule-version.yaml rulesetVersionId: description: Uniquely identifies the rule set version. type: integer x-akamai: file-path: schemas/rapid-rule-version-id.yaml required: - action type: object minItems: 0 type: array threatIntel: description: Set to `on` so our network analyzes a request and dynamically modifies protection methods to fit the detected threat level. Set to `off` to manually fine-tune your rule sets. enum: - 'on' - 'off' type: string required: - enabled - defaultAction - policyRules type: object ratePolicyActions: description: The list of rate policy actions set in the security policy. items: additionalProperties: false properties: id: description: Uniquely identifies the rate policy. minimum: 0 type: integer ipv4Action: description: The action to take for the IPv4 traffic when the limits set in the rate policy are exceeded. minLength: 1 type: string ipv6Action: description: The action to take for the IPv6 traffic when the limits set in the rate policy are exceeded. minLength: 1 type: string required: - ipv4Action - ipv6Action - id type: object minItems: 0 type: array requestBody: additionalProperties: false description: Contains policy level settings for request body inspection limit. properties: requestBodyInspectionLimitInKB: description: Request body size in KB, either `8`, `16`, or `32` as string-formatted integers, or `default` to use Akamai's best practice value. enum: - '8' - '16' - '32' - default type: string type: object x-akamai: file-path: schemas/request-body.yaml securityControls: additionalProperties: false description: Contains details about the security controls defined in the security policy. properties: applyAccountProtectionControls: description: Indicates if you enabled the account protection controls. type: boolean applyApplicationLayerControls: description: Whether you enabled the application layer controls. type: boolean applyMalwareControls: description: Whether you enabled the malware protection. type: boolean applyNetworkLayerControls: description: Whether you enabled the network layer controls. type: boolean applyRateControls: description: Whether you enabled the rate controls. type: boolean applyReputationControls: description: Whether you enabled the reputation controls. type: boolean required: - applyRateControls - applyNetworkLayerControls - applyReputationControls - applyApplicationLayerControls - applyMalwareControls type: object slowPost: additionalProperties: false description: Contains details about the slow POST protection. Lets you set thresholds to control slow traffic. The duration threshold takes precedence over the slow rate threshold. properties: action: description: The action to take for a request that exceeds the threshold. Either `alert` to send an alert notification, or `abort` to deny the request. enum: - alert - abort type: string durationThreshold: additionalProperties: false description: The settings based on the first 8 kilobytes of the POST body transfer. properties: timeout: description: The time (in seconds) when the first 8 kilobytes of the POST body should be processed to avoid flagging the request. minimum: 0 type: integer required: - timeout type: object slowRateThreshold: additionalProperties: false description: The settings based on the request body transfer speed. properties: period: description: The period (in seconds) when the rate applies. minimum: 0 type: integer rate: description: The maximum rate of bandwidth in bytes per second, averaged every 2 minutes. minimum: 0 type: integer required: - rate - period type: object required: - action - durationThreshold - slowRateThreshold type: object webApplicationFirewall: additionalProperties: false description: Contains information about the rule and attack group actions. properties: attackGroupActions: description: The list of attack group actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when the risk score exceeds the set threshold. type: string advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml group: description: The attack group name. type: string rulesetVersionId: description: Uniquely identifies the ruleset version. type: integer required: - action - group - rulesetVersionId type: object type: array evaluation: additionalProperties: false description: Specifies the ruleset version evaluated as part of the policy. properties: attackGroupActions: description: The list of attack group actions set in the security policy. items: additionalProperties: false properties: action: description: The action to take when the risk score exceeds the set threshold. type: string advancedExceptions: additionalProperties: false description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. properties: conditionOperator: description: Use `OR` to match any condition, or `AND` to match on all conditions. enum: - OR - AND type: string conditions: description: The list of match conditions. items: additionalProperties: false description: Describes what conditions can be set for an action to occur. properties: caseSensitive: description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`. type: boolean clientLists: description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`. items: type: string minItems: 0 type: array extensions: description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`. items: type: string type: array filenames: description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`. items: type: string type: array header: description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`. type: string hosts: description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`. items: type: string type: array ips: description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`. items: type: string type: array methods: description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`. items: enum: - GET - POST - HEAD - PUT - DELETE - OPTIONS - TRACE - CONNECT - PATCH type: string type: array name: description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`. type: string nameCase: description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`. type: boolean paths: description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`. items: type: string type: array positiveMatch: description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`). type: boolean type: description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval). enum: - hostMatch - pathMatch - filenameMatch - extensionMatch - uriQueryMatch - ipMatch - requestMethodMatch - requestHeaderMatch - clientListMatch type: string useHeaders: description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`. type: boolean value: description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`. type: string valueCase: description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`. type: boolean valueWildcard: description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`. type: boolean wildcard: description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`. type: boolean required: - type - positiveMatch type: object x-akamai: file-path: schemas/condition.yaml type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array valueWildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean values: description: The list of request attribute names. items: type: string type: array required: - values type: object type: array specificHeaderCookieOrParamNameValue: description: Contains details about the excepted name-value pairs in a request. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array namesValues: description: A list of name-value pairs to except. items: additionalProperties: false properties: names: description: The list of request attribute names. items: type: string type: array values: description: The list of request attribute values. items: type: string type: array required: - names type: object type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string valueWildcard: default: false description: Whether the provided header `value` is a wildcard. type: boolean wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - namesValues - selector type: object type: array specificHeaderCookieParamXmlOrJsonNames: description: Describes the advanced exception fields that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled. items: additionalProperties: false properties: criteria: description: A list of criteria to limit the scope of this exception. items: additionalProperties: false description: The hostname and path criteria to limit the scope of exception. properties: hostnames: description: The list of excepted hostnames. items: type: string type: array names: description: The list of excepted names. items: type: string type: array paths: description: The list of excepted paths. items: type: string type: array values: description: The list of excepted values. items: type: string type: array required: - paths - names - values type: object x-akamai: file-path: schemas/criteria.yaml type: array names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values). enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether the provided header `name` is a wildcard. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/advanced-exception.yaml exception: additionalProperties: false description: Describes the exception fields that allow you to conditionally exclude requests from inspection. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes. items: enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string type: array headerCookieOrParamValues: description: The list of excepted values in headers, cookies, or query parameters. items: type: string type: array specificHeaderCookieOrParamNameValue: additionalProperties: false description: Contains details about the excepted name-value pair in a request. properties: name: description: The name of the request attribute. type: string selector: description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string value: description: The value of the request attribute. type: string required: - name - selector - value type: object specificHeaderCookieOrParamNames: additionalProperties: false description: Contains details about the excepted request attribute name. properties: names: description: The list of request attribute names. items: type: string type: array selector: description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - names - selector type: object specificHeaderCookieOrParamPrefix: additionalProperties: false description: Contains details about the excepted request attribute name prefix. properties: prefix: description: The request attribute name prefix. type: string selector: description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header. enum: - REQUEST_COOKIES - JSON_PAIRS - XML_PAIRS - ARGS - REQUEST_HEADERS type: string required: - prefix - selector type: object specificHeaderCookieParamXmlOrJsonNames: description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled. items: additionalProperties: false properties: names: description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset. items: type: string type: array selector: description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).' enum: - ARGS_NAMES - ARGS - REQUEST_HEADERS_NAMES - REQUEST_HEADERS - REQUEST_COOKIES_NAMES - REQUEST_COOKIES - JSON_NAMES - JSON_PAIRS - XML_PAIRS - REQUEST_PROTOCOL - REQUEST_METHOD - REQUEST_URI - QUERY_STRING - REQUEST_FILENAME - REQUEST_PATH_SEGMENT - REQUEST_BODY - REQBODY_PROCESSOR_ERROR - FILES_NAMES type: string wildcard: default: false description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character. type: boolean required: - selector type: object type: array type: object x-akamai: file-path: schemas/exception.yaml group: description: The attack group name. type: string rulesetVersionId: description: Uniquely identifies the ruleset version. type: integer required: - action - group - rulesetVersionId type: object type: array evaluationId: description: Uniquely identifies the rule evaluation configuration. minimum: 0 type: integer evaluationVersion: description: The evaluation version. The version numbers start at `1` and increase on the first change to an evaluation configuration after its activation. minimum: 0 type: integer ruleActions: description: The list of rules in the security policy and the actions to perform when a request violates the rule. items: additionalProperties: false properties: action: description: The action to take when a request violates the rule. type: string conditions: description: The list of conditions that trigger the rule. items: additionalProperties: false 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 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 type: string useHeaders: description: Whether the condition should include the `X-Forwarded-For` (XFF) headers. This only applies to the `ipMatch` 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 to the `uriQueryMatch` and `requestHeaderMatch` condition `type`s. 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: - caseSensitive - extensions - filenames - header - hosts - ips - methods - name - nameCase - paths - positiveMatch - type - useHeaders - value - valueCase - valueWildcard - wildcard type: object type: array exceptions: additionalProperties: false description: Contains details about the exceptions under which the rule's action doesn't trigger. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule exceptions. The possible values are `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, and `REQ_HDR` 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: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR type: string required: - prefix - selector type: object required: - anyHeaderCookieOrParam - headerCookieOrParamValues - specificHeaderCookieOrParamNames - specificHeaderCookieOrParamNameValue - specificHeaderCookieOrParamPrefix type: object id: description: Uniquely identifies the rule. type: integer rulesetVersionId: description: Uniquely identifies the rule set version. type: integer required: - id - rulesetVersionId - action type: object type: array rulesetVersion: description: Uniquely identifies the evaluated ruleset version. minimum: 0 type: integer required: - rulesetVersion - evaluationId - evaluationVersion - ruleActions - attackGroupActions type: object ruleActions: description: The list of rules in the security policy and the actions to perform when a request violates the rule. items: additionalProperties: false properties: action: description: The action to take when a request violates the rule. type: string conditions: description: The list of conditions that trigger the rule. items: additionalProperties: false 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 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 type: string useHeaders: description: Whether the condition should include the `X-Forwarded-For` (XFF) headers. This only applies to the `ipMatch` 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 to the `uriQueryMatch` and `requestHeaderMatch` condition `type`s. 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: - caseSensitive - extensions - filenames - header - hosts - ips - methods - name - nameCase - paths - positiveMatch - type - useHeaders - value - valueCase - valueWildcard - wildcard type: object type: array exceptions: additionalProperties: false description: Contains details about the exceptions under which the rule's action doesn't trigger. properties: anyHeaderCookieOrParam: description: The list of request attributes to treat as rule exceptions. The possible values are `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, and `REQ_HDR` 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: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR 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 `COOKIE`, `JSON_PARAM` for a JSON parameter, `XML_PARAM` for an XML parameter, `REQ_PARAM` for a request parameter, or `REQ_HDR` for a request header. enum: - COOKIE - JSON_PARAM - XML_PARAM - REQ_PARAM - REQ_HDR type: string required: - prefix - selector type: object required: - anyHeaderCookieOrParam - headerCookieOrParamValues - specificHeaderCookieOrParamNames - specificHeaderCookieOrParamNameValue - specificHeaderCookieOrParamPrefix type: object id: description: Uniquely identifies the rule. type: integer rulesetVersionId: description: Uniquely identifies the rule set version. type: integer required: - id - rulesetVersionId - action type: object type: array threatIntel: description: Set to `on` so our network analyzes a request and dynamically modifies protection methods to fit the detected threat level. Set to `off` to manually fine-tune your rule sets. enum: - 'on' - 'off' type: string required: - attackGroupActions - evaluation - ruleActions type: object required: - id - name - securityControls - hasRatePolicyWithApiKey type: object x-akamai: file-path: schemas/export-security-policies.yaml type: array selectableHosts: description: The hostnames that are available for protection in the configuration version. items: type: string type: array selectedHosts: description: The hostnames protected in the configuration version. items: type: string type: array siem: additionalProperties: false description: The SIEM details in the configuration version. properties: enableForAllPolicies: description: Whether you enabled SIEM for all the security policies in the configuration version. This takes precedence when both `firewallPolicyIds` and `enableForAllPolicies` are present. type: boolean enableSiem: description: Whether you enabled SIEM in the security configuration version. type: boolean enabledBotmanSiemEvents: deprecated: true description: __Deprecated__ Whether you enabled SIEM for the Bot Manager events. Use the `exceptions` field instead to set Botman SIEM events exception. type: boolean x-akamai: status: DEPRECATED exceptions: description: Describes all attack types and its actions that will be excluded in SIEM events. items: additionalProperties: false properties: actionTypes: description: Describes [actions](https://techdocs.akamai.com/application-security/reference/siem-action-and-attack-type-exceptions) to be excluded for a particular attack type. items: enum: - '*' - alert - deny - all_custom - abort - allow - delay - ignore - monitor - slow - tarpit type: string minItems: 0 type: array protection: description: Describes the [attack type](https://techdocs.akamai.com/application-security/reference/siem-action-and-attack-type-exceptions) to be excluded from SIEM events. enum: - ipgeo - rate - urlProtection - slowpost - customrules - waf - apirequestconstraints - clientrep - malwareprotection - botmanagement - aprProtection type: string required: - actionTypes - protection type: object minItems: 0 type: array firewallPolicyIds: description: The list of security policy identifiers for which to enable the SIEM integration. items: minLength: 1 type: string minItems: 0 type: array siemDefinitionId: description: Uniquely identifies the SIEM settings. minimum: 1 type: integer required: - enableSiem - exceptions - firewallPolicyIds - siemDefinitionId - enableForAllPolicies type: object x-akamai: file-path: schemas/export-siem.yaml staging: additionalProperties: false description: Specifies the configuration version's activation status on the staging network. properties: action: description: The action you performed on the configuration version. Either `ACTIVATE` or `DEACTIVATE`. enum: - ACTIVATE - DEACTIVATE type: string status: description: The activation status. Either `Pending`, `Active`, `Inactive`, `Deactivated`, `Failed`. enum: - Pending - Active - Inactive - Deactivated - Failed type: string time: description: The ISO 8601 timestamp when you activated the configuration version. type: string required: - status type: object version: description: The security configuration's incremental version number. type: integer versionNotes: description: The notes that you provide to describe the security configuration version. type: string required: - advancedOptions - basedOn - configId - configName - createDate - createdBy - customRules - errorHosts - matchTargets - production - ratePolicies - reputationProfiles - rulesets - securityPolicies - selectableHosts - selectedHosts - siem - customDenyList - staging - version type: object x-akamai: file-path: schemas/export.yaml description: Successfully returned resource. headers: X-RateLimit-Limit: description: The rate limit you set for a given API Key. example: 20 schema: type: integer x-akamai: file-path: headers/x-ratelimit-limit.yaml X-RateLimit-Remaining: description: 'Rate limit remaining for an API Key. Calls to export versions use weighted rate limiting: - Requests with active configuration use 1 token. - Requests with inactive configuration use 10 tokens. A configuration is considered `active` if it has been activated in either production or staging.' example: 20 schema: type: integer x-akamai: file-path: headers/x-ratelimit-remaining-export.yaml '403': content: application/problem+json: example: detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 403 title: Forbidden type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Forbidden](https://techdocs.akamai.com/application-security/reference/403). You don''t have access to the resource.' x-akamai: file-path: errors/403.yaml '404': content: application/problem+json: example: detail: The requested resource is not found instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 404 title: Not Found type: https://problems.luna.akamaiapis.net/appsec/error-types/NOT-FOUND schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). That resource doesn''t exist, or the URL is malformed.' x-akamai: file-path: errors/404.yaml '429': content: application/problem+json: example: detail: Rate limit exceeded. Retry after 13 seconds instance: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 429 title: Rate Limit Exceeded type: https://problems.luna.akamaiapis.net/appsec/error-types/RATE-LIMITED schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field. type: object instance: description: The non-referenceable URI that indicates the error instance. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: The HTTP status code. example: 404 type: integer title: description: The error title. example: Not Found type: string type: description: The URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string required: - title - type - detail - instance - status type: object x-akamai: file-path: schemas/problem-details.yaml description: '[Too many requests](https://techdocs.akamai.com/application-security/reference/429).' headers: X-RateLimit-Limit: description: The rate limit you set for a given API Key. example: 20 schema: type: integer x-akamai: file-path: headers/x-ratelimit-limit.yaml X-RateLimit-Next: description: The time When you can make the next request after reaching the rate limit. schema: example: '2021-02-26T14:22:00Z' format: date-time type: string x-akamai: file-path: headers/x-ratelimit-next.yaml X-RateLimit-Remaining: description: 'Rate limit remaining for an API Key. Calls to export versions use weighted rate limiting: - Requests with active configuration use 1 token. - Requests with inactive configuration use 10 tokens. A configuration is considered `active` if it has been activated in either production or staging.' example: 20 schema: type: integer x-akamai: file-path: headers/x-ratelimit-remaining-export.yaml x-akamai: file-path: errors/429-export.yaml summary: Export a configuration version tags: - Configuration version export x-akamai: labels: - All products externalDocs: description: See documentation for Akamai's API Endpoint Definition API url: https://techdocs.akamai.com/api-definitions/reference x-readme: samples-languages: - curl - python - node