openapi: 3.0.0
info:
description: 'Manage your configurations for Kona Site Defender,
Web Application Protector, and Client Reputation.
'
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
title: 'Akamai: Application Security Activation history Configuration version export API'
version: v1
servers:
- url: https://{hostname}/appsec/v1
tags:
- description: 'Get comprehensive details about a security configuration
version.'
name: Configuration version export
paths:
/export/configs/{configId}/versions/{versionNumber}:
parameters:
- description: A unique identifier for each configuration.
example: '{{configId}}'
in: path
name: configId
required: true
schema:
example: 77653
format: int64
type: integer
x-akamai:
file-path: parameters/config-id-path.yaml
- description: A unique identifier for each version of a configuration.
example: '{{versionNumber}}'
in: path
name: versionNumber
required: true
schema:
example: 25
type: integer
x-akamai:
file-path: parameters/version-number-path.yaml
x-akamai:
file-path: paths/export.yaml
path-info: /export/configs/{configId}/versions/{versionNumber}
get:
description: 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).
example: '{{accountSwitchKey}}'
in: query
name: accountSwitchKey
required: false
schema:
example: 1-5C0YLB:1-8BYUX
type: string
responses:
'200':
content:
application/json:
example:
advancedOptions:
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
advancedSettings:
userAllowListIdSettings:
userAllowListId: 82004_APRE2ENLDONOTDELETE
userRiskResponseStrategySettings:
traffic:
inline:
aggressive:
threshold: 76
cautious:
threshold: 0
strict:
threshold: 51
nativeSdkAndroid:
aggressive:
threshold: 76
cautious:
threshold: 0
strict:
threshold: 51
nativeSdkIos:
aggressive:
threshold: 76
cautious:
threshold: 0
strict:
threshold: 51
standard:
aggressive:
threshold: 76
cautious:
threshold: 0
strict:
threshold: 51
basedOn: 1
configId: 48579
configName: New Security Config
createDate: '2017-09-08T22:24:41Z'
createdBy: mrossi
customRules:
- conditions:
- positiveMatch: true
type: requestMethodMatch
value:
- GET
configId: 77653
id: 776532
name: UXR-715 RE2 Second Test with Flags
ruleActivated: false
stagingOnly: true
structured: true
tag:
- tagfor
- '17.2'
version: 1
- conditions:
- positiveMatch: true
type: extensionMatch
value:
- fdf
valueCase: true
valueWildcard: false
configId: 77653
description: Test CR
id: 600001
name: Test CR
ruleActivated: false
structured: true
tag:
- Test
- Tag
version: 1
- conditions:
- name: kids
nameCase: true
nameWildcard: false
positiveMatch: true
type: cookieMatch
value:
- dsds
- dasdqw
- dsa
- dqwd
- csqw
valueCase: true
valueWildcard: true
configId: 77653
description: Test CR
id: 600006
name: Test CR
ruleActivated: false
structured: true
tag:
- k
version: 1
- conditions:
- positiveMatch: true
type: pathMatch
value:
- /login
configId: 77653
id: 606713
name: Test
ruleActivated: false
structured: true
tag:
- adsa
version: 1
- conditions:
- name: fvfv
positiveMatch: true
type: argsPostMatch
value:
- fgbr
- name:
- test
nameWildcard: true
positiveMatch: true
type: requestHeaderMatch
value:
- test1
valueCase: false
valueWildcard: true
configId: 77653
description: Test CR
id: 690265
name: Test CR2
ruleActivated: false
structured: true
tag:
- ee
version: 1
- configId: 77653
id: 667825
inspectRequest: false
inspectResponse: false
metadata: '
UXR-715 CRB Metadata testing
CUSTOM/TEST
667825
%(WAF_CUSTOM_R667825_DENY)
threat indicated from data %(MY_SAMPLE_THREAT_DETECTED)
403
'
name: UXR-715 RE27890
ruleActivated: false
structured: false
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
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
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
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
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: ''
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:
- attackGroupActions:
- action: deny
exception:
specificHeaderCookieParamXmlOrJsonNames:
- names:
- '*'
selector: REQUEST_HEADERS_NAMES
wildcard: true
- names:
- test
selector: REQUEST_HEADERS
wildcard: true
- names:
- connect.sid
selector: REQUEST_COOKIES_NAMES
wildcard: false
- names:
- XSRF_TOKEN
selector: REQUEST_COOKIES
wildcard: true
- names:
- '*'
selector: ARGS_NAMES
wildcard: true
- names:
- value
selector: ARGS
wildcard: true
- names:
- '*'
selector: JSON_NAMES
wildcard: true
- names:
- val
selector: JSON_PAIRS
wildcard: true
- names:
- test
selector: XML_PAIRS
wildcard: true
- selector: REQUEST_PROTOCOL
wildcard: true
- selector: REQUEST_METHOD
wildcard: true
- selector: REQUEST_URI
wildcard: true
- selector: QUERY_STRING
wildcard: true
- selector: REQUEST_FILENAME
wildcard: true
- selector: REQUEST_PATH_SEGMENT
wildcard: true
- selector: REQUEST_BODY
wildcard: true
- selector: REQBODY_PROCESSOR_ERROR
wildcard: true
- selector: FILES_NAMES
wildcard: true
group: SQL
rulesetVersionId: 327550
- action: deny
group: XSS
rulesetVersionId: 327550
- action: deny
group: IN
rulesetVersionId: 327550
customRuleActions:
- action: deny
id: 628035
- action: alert
id: 628037
hasRatePolicyWithApiKey: false
id: qik2_38799
name: Generated Quick Policy - 4/10/17 7:13:18 PM GMT
networkLayerControls:
accountProtection:
generalSettings:
accountProtectionEnabled: true
originSignalHeaderEnabled: true
originUserIdInRequestHeaderEnabled: false
usernameInRequestHeaderEnabled: false
transactionalEndpoints:
- apiEndPointId: 784844
operationId: d7cf5676-5e30-4682-aa8d-2f181a139213
telemetryTypeStates:
inline:
ajaxSupportEnabled: false
disabledAction: none
enabled: true
nativeSdk:
ajaxSupportEnabled: false
disabledAction: none
enabled: true
standard:
ajaxSupportEnabled: false
disabledAction: monitor
enabled: true
traffic:
inline:
aggressive:
action: monitor
threshold: 100
cautious:
action: monitor
threshold: 0
overrideThresholds: true
strict:
action: monitor
threshold: 51
nativeSdkAndroid:
aggressive:
action: monitor
threshold: 100
bypassPreSdkVersion: true
cautious:
action: monitor
threshold: 0
overrideThresholds: true
strict:
action: monitor
threshold: 51
nativeSdkIos:
aggressive:
action: monitor
threshold: 100
bypassPreSdkVersion: true
cautious:
action: monitor
threshold: 0
overrideThresholds: true
strict:
action: monitor
threshold: 51
standard:
aggressive:
action: monitor
threshold: 100
cautious:
action: monitor
threshold: 0
overrideThresholds: true
strict:
action: monitor
threshold: 63
block: blockSpecificIPGeo
geoControls:
blockedIPNetworkLists:
additional:
- AF
- AS
networkList:
- 4389_BLANKLIST
ipControls:
allowedIPNetworkLists:
additional:
- 192.0.2.86
networkList:
- '12801_25000'
- '19440_1671'
blockedIPNetworkLists:
additional:
- 192.0.2.1
networkList:
- 16656_CPISERVERS
- 18460_166RELEASETESTING
slowPost:
action: alert
durationThreshold:
timeout: 5
slowRateThreshold:
period: 60
rate: 10
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
ratePolicyActions:
- id: 0
ipv4Action: alert
ipv6Action: deny
- id: 0
ipv4Action: alert
ipv6Action: none
reputationProfileActions:
- action: alert
id: 281778
- action: deny
id: 210588
ruleActions:
- action: alert
id: 960912
rulesetVersionId: 327550
- action: alert
id: 960035
rulesetVersionId: 327550
- action: alert
id: 981300
rulesetVersionId: 327550
- action: deny
id: 3000001
rulesetVersionId: 327550
- action: alert
conditions:
- hosts:
- www.example.com
- '*.example.com'
positiveMatch: true
type: hostMatch
- paths:
- /a/d
- /test/
positiveMatch: false
type: pathMatch
- caseSensitive: false
name: test
nameCase: false
positiveMatch: false
type: uriQueryMatch
value: value
wildcard: false
- header: user-agent
positiveMatch: false
type: requestHeaderMatch
value: test-agent-*
valueCase: false
valueWildcard: true
exception:
selectors:
- selector: REQUEST_COOKIES
type: GENERIC
- name: cccx
selector: XML_PAIRS
type: EXACT
value: vvv
- selector: REQUEST_COOKIES
type: GENERIC
- selector: ARGS
type: GENERIC
values:
- test
- sdfasf
id: 970903
rulesetVersionId: 327550
- hasRatePolicyWithApiKey: false
id: qqqq_39297
name: qqqqqq
- apiRequestConstraints:
action: ''
apiEndpoints:
- action: alert
id: 1941
- action: alert
id: 1942
- action: alert
id: 1943
hasRatePolicyWithApiKey: false
id: 178t_48704
name: Copy of Tet-a-Tet with 17.8
networkLayerControls:
block: blockSpecificIPGeo
ipControls:
blockedIPNetworkLists:
networkList:
- 24321_TESTNW
reputationProfileActions:
- action: alert
id: 281778
- action: alert
id: 281776
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:
description: The logging and prefetch settings in the configuration version.
items:
additionalProperties: false
description: Contains details about the header logging and prefetch settings in the exported configuration version.
properties:
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
- values
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
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` member 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` member 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
type: array
basedOn:
description: The version from which you cloned this version. If it's the first version, this member 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:
ratePolicies:
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
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:
description: The match target details in the configuration version.
items:
additionalProperties: false
description: Contains the API and website match targets defined in the security configuration version.
properties:
matchTargets:
additionalProperties: false
description: Contains the API and website match targets defined in the security 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
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
targetId:
description: Uniquely identifies the match target.
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
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
targetId:
description: Uniquely identifies the match target.
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
required:
- matchTargets
type: object
x-akamai:
file-path: schemas/export-match-targets.yaml
type: array
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:
- action
- status
- time
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:
description: 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.
enum:
- api-key
- ip-useragent
- ip
- cookie:value
type: string
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-22 18:57:08.0'
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 member 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`.
enum:
- AllRequests
- TopLevel
- Custom
type: string
pathUriPositiveMatch:
description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`).
type: boolean
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-22 00:05:41.0'
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 reputaion 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:
positiveMatch:
description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`).
type: boolean
type:
description: The condition type. Either `NetworkListCondition`, `AsNumberCondition`, `IpAddressCondition`, `RequestCookieCondition`, `RequestHeaderCondition`, `HostCondition`, or `UrlPatternCondition`.
enum:
- NetworkListCondition
- AsNumberCondition
- IpAddressCondition
- RequestCookieCondition
- RequestHeaderCondition
- HostCondition
- UrlPatternCondition
type: string
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:
- type
- positiveMatch
- valueWildcard
- valueCase
- value
type: object
type: array
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
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: string
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
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
- values
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
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 members that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled.
properties:
conditionOperator:
description: Use `OR` to match any condition, or `AND` to match on all conditions.
enum:
- OR
- AND
type: string
conditions:
description: The list of match conditions.
items:
additionalProperties: false
description: Describes what conditions can be set for an action to occur.
properties:
caseSensitive:
description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
clientLists:
description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`.
items:
type: string
minItems: 0
type: array
extensions:
description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`.
items:
type: string
type: array
filenames:
description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`.
items:
type: string
type: array
header:
description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`.
type: string
hosts:
description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`.
items:
type: string
type: array
ips:
description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`.
items:
type: string
type: array
methods:
description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`.
items:
enum:
- GET
- POST
- HEAD
- PUT
- DELETE
- OPTIONS
- TRACE
- CONNECT
- PATCH
type: string
type: array
name:
description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`.
type: string
nameCase:
description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
paths:
description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`.
items:
type: string
type: array
positiveMatch:
description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`).
type: boolean
type:
description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval).
enum:
- hostMatch
- pathMatch
- filenameMatch
- extensionMatch
- uriQueryMatch
- ipMatch
- requestMethodMatch
- requestHeaderMatch
- clientListMatch
type: string
useHeaders:
description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`.
type: boolean
value:
description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`.
type: string
valueCase:
description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`.
type: boolean
valueWildcard:
description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`.
type: boolean
wildcard:
description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
required:
- type
- positiveMatch
type: object
x-akamai:
file-path: schemas/condition.yaml
type: array
headerCookieOrParamValues:
description: The list of excepted values in headers, cookies, or query parameters.
items:
additionalProperties: false
properties:
criteria:
description: A list of criteria to limit the scope of this exception.
items:
additionalProperties: false
description: The hostname and path criteria to limit the scope of exception.
properties:
hostnames:
description: The list of excepted hostnames.
items:
type: string
type: array
names:
description: The list of excepted names.
items:
type: string
type: array
paths:
description: The list of excepted paths.
items:
type: string
type: array
values:
description: The list of excepted values.
items:
type: string
type: array
required:
- paths
- names
- values
type: object
x-akamai:
file-path: schemas/criteria.yaml
type: array
valueWildcard:
default: false
description: Whether the provided header `name` is a wildcard.
type: boolean
values:
description: The list of request attribute names.
items:
type: string
type: array
required:
- values
type: object
type: array
specificHeaderCookieOrParamNameValue:
description: Contains details about the excepted name-value pairs in a request.
items:
additionalProperties: false
properties:
criteria:
description: A list of criteria to limit the scope of this exception.
items:
additionalProperties: false
description: The hostname and path criteria to limit the scope of exception.
properties:
hostnames:
description: The list of excepted hostnames.
items:
type: string
type: array
names:
description: The list of excepted names.
items:
type: string
type: array
paths:
description: The list of excepted paths.
items:
type: string
type: array
values:
description: The list of excepted values.
items:
type: string
type: array
required:
- paths
- names
- values
type: object
x-akamai:
file-path: schemas/criteria.yaml
type: array
namesValues:
description: A list of name-value pairs to except.
items:
additionalProperties: false
properties:
names:
description: The list of request attribute names.
items:
type: string
type: array
values:
description: The list of request attribute values.
items:
type: string
type: array
required:
- names
type: object
type: array
selector:
description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
wildcard:
default: false
description: Whether the provided header `name` is a wildcard.
type: boolean
required:
- namesValues
- selector
type: object
type: array
specificHeaderCookieParamXmlOrJsonNames:
description: Describes the advanced exception members that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled.
items:
additionalProperties: false
properties:
criteria:
description: A list of criteria to limit the scope of this exception.
items:
additionalProperties: false
description: The hostname and path criteria to limit the scope of exception.
properties:
hostnames:
description: The list of excepted hostnames.
items:
type: string
type: array
names:
description: The list of excepted names.
items:
type: string
type: array
paths:
description: The list of excepted paths.
items:
type: string
type: array
values:
description: The list of excepted values.
items:
type: string
type: array
required:
- paths
- names
- values
type: object
x-akamai:
file-path: schemas/criteria.yaml
type: array
names:
description: The list of request attribute names.
items:
type: string
type: array
selector:
description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).
enum:
- ARGS_NAMES
- ARGS
- REQUEST_HEADERS_NAMES
- REQUEST_HEADERS
- REQUEST_COOKIES_NAMES
- REQUEST_COOKIES
- JSON_NAMES
- JSON_PAIRS
- XML_PAIRS
- REQUEST_PROTOCOL
- REQUEST_METHOD
- REQUEST_URI
- QUERY_STRING
- REQUEST_FILENAME
- REQUEST_PATH_SEGMENT
- REQUEST_BODY
- REQBODY_PROCESSOR_ERROR
- FILES_NAMES
type: string
wildcard:
default: false
description: Whether the provided header `name` is a wildcard.
type: boolean
required:
- selector
type: object
type: array
type: object
x-akamai:
file-path: schemas/advanced-exception.yaml
conditions:
description: The conditions list for a rule.
items:
additionalProperties: false
description: Describes what conditions can be set for an action to occur.
properties:
caseSensitive:
description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
clientLists:
description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`.
items:
type: string
minItems: 0
type: array
extensions:
description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`.
items:
type: string
type: array
filenames:
description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`.
items:
type: string
type: array
header:
description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`.
type: string
hosts:
description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`.
items:
type: string
type: array
ips:
description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`.
items:
type: string
type: array
methods:
description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`.
items:
enum:
- GET
- POST
- HEAD
- PUT
- DELETE
- OPTIONS
- TRACE
- CONNECT
- PATCH
type: string
type: array
name:
description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`.
type: string
nameCase:
description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
paths:
description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`.
items:
type: string
type: array
positiveMatch:
description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`).
type: boolean
type:
description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval).
enum:
- hostMatch
- pathMatch
- filenameMatch
- extensionMatch
- uriQueryMatch
- ipMatch
- requestMethodMatch
- requestHeaderMatch
- clientListMatch
type: string
useHeaders:
description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`.
type: boolean
value:
description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`.
type: string
valueCase:
description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`.
type: boolean
valueWildcard:
description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`.
type: boolean
wildcard:
description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
required:
- type
- positiveMatch
type: object
x-akamai:
file-path: schemas/condition.yaml
type: array
exception:
additionalProperties: false
description: Describes the exception members that allow you to conditionally exclude requests from inspection.
properties:
anyHeaderCookieOrParam:
description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes.
items:
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
type: array
headerCookieOrParamValues:
description: The list of excepted values in headers, cookies, or query parameters.
items:
type: string
type: array
specificHeaderCookieOrParamNameValue:
additionalProperties: false
description: Contains details about the excepted name-value pair in a request.
properties:
name:
description: The name of the request attribute.
type: string
selector:
description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header.
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
value:
description: The value of the request attribute.
type: string
required:
- name
- selector
- value
type: object
specificHeaderCookieOrParamNames:
additionalProperties: false
description: Contains details about the excepted request attribute name.
properties:
names:
description: The list of request attribute names.
items:
type: string
type: array
selector:
description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header.
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
required:
- names
- selector
type: object
specificHeaderCookieOrParamPrefix:
additionalProperties: false
description: Contains details about the excepted request attribute name prefix.
properties:
prefix:
description: The request attribute name prefix.
type: string
selector:
description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header.
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
required:
- prefix
- selector
type: object
specificHeaderCookieParamXmlOrJsonNames:
description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled.
items:
additionalProperties: false
properties:
names:
description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset.
items:
type: string
type: array
selector:
description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).'
enum:
- ARGS_NAMES
- ARGS
- REQUEST_HEADERS_NAMES
- REQUEST_HEADERS
- REQUEST_COOKIES_NAMES
- REQUEST_COOKIES
- JSON_NAMES
- JSON_PAIRS
- XML_PAIRS
- REQUEST_PROTOCOL
- REQUEST_METHOD
- REQUEST_URI
- QUERY_STRING
- REQUEST_FILENAME
- REQUEST_PATH_SEGMENT
- REQUEST_BODY
- REQBODY_PROCESSOR_ERROR
- FILES_NAMES
type: string
wildcard:
default: false
description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character.
type: boolean
required:
- selector
type: object
type: array
type: object
x-akamai:
file-path: schemas/exception.yaml
type: object
x-akamai:
file-path: schemas/condition-exception-get-200.yaml
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
required:
- ruleId
- ruleVersion
- action
- lock
- conditionException
type: object
minItems: 0
type: array
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 members that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled.
properties:
conditionOperator:
description: Use `OR` to match any condition, or `AND` to match on all conditions.
enum:
- OR
- AND
type: string
conditions:
description: The list of match conditions.
items:
additionalProperties: false
description: Describes what conditions can be set for an action to occur.
properties:
caseSensitive:
description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
clientLists:
description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`.
items:
type: string
minItems: 0
type: array
extensions:
description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`.
items:
type: string
type: array
filenames:
description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`.
items:
type: string
type: array
header:
description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`.
type: string
hosts:
description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`.
items:
type: string
type: array
ips:
description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`.
items:
type: string
type: array
methods:
description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`.
items:
enum:
- GET
- POST
- HEAD
- PUT
- DELETE
- OPTIONS
- TRACE
- CONNECT
- PATCH
type: string
type: array
name:
description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`.
type: string
nameCase:
description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
paths:
description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`.
items:
type: string
type: array
positiveMatch:
description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`).
type: boolean
type:
description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval).
enum:
- hostMatch
- pathMatch
- filenameMatch
- extensionMatch
- uriQueryMatch
- ipMatch
- requestMethodMatch
- requestHeaderMatch
- clientListMatch
type: string
useHeaders:
description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`.
type: boolean
value:
description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`.
type: string
valueCase:
description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`.
type: boolean
valueWildcard:
description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`.
type: boolean
wildcard:
description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
required:
- type
- positiveMatch
type: object
x-akamai:
file-path: schemas/condition.yaml
type: array
headerCookieOrParamValues:
description: The list of excepted values in headers, cookies, or query parameters.
items:
additionalProperties: false
properties:
criteria:
description: A list of criteria to limit the scope of this exception.
items:
additionalProperties: false
description: The hostname and path criteria to limit the scope of exception.
properties:
hostnames:
description: The list of excepted hostnames.
items:
type: string
type: array
names:
description: The list of excepted names.
items:
type: string
type: array
paths:
description: The list of excepted paths.
items:
type: string
type: array
values:
description: The list of excepted values.
items:
type: string
type: array
required:
- paths
- names
- values
type: object
x-akamai:
file-path: schemas/criteria.yaml
type: array
valueWildcard:
default: false
description: Whether the provided header `name` is a wildcard.
type: boolean
values:
description: The list of request attribute names.
items:
type: string
type: array
required:
- values
type: object
type: array
specificHeaderCookieOrParamNameValue:
description: Contains details about the excepted name-value pairs in a request.
items:
additionalProperties: false
properties:
criteria:
description: A list of criteria to limit the scope of this exception.
items:
additionalProperties: false
description: The hostname and path criteria to limit the scope of exception.
properties:
hostnames:
description: The list of excepted hostnames.
items:
type: string
type: array
names:
description: The list of excepted names.
items:
type: string
type: array
paths:
description: The list of excepted paths.
items:
type: string
type: array
values:
description: The list of excepted values.
items:
type: string
type: array
required:
- paths
- names
- values
type: object
x-akamai:
file-path: schemas/criteria.yaml
type: array
namesValues:
description: A list of name-value pairs to except.
items:
additionalProperties: false
properties:
names:
description: The list of request attribute names.
items:
type: string
type: array
values:
description: The list of request attribute values.
items:
type: string
type: array
required:
- names
type: object
type: array
selector:
description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
wildcard:
default: false
description: Whether the provided header `name` is a wildcard.
type: boolean
required:
- namesValues
- selector
type: object
type: array
specificHeaderCookieParamXmlOrJsonNames:
description: Describes the advanced exception members that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled.
items:
additionalProperties: false
properties:
criteria:
description: A list of criteria to limit the scope of this exception.
items:
additionalProperties: false
description: The hostname and path criteria to limit the scope of exception.
properties:
hostnames:
description: The list of excepted hostnames.
items:
type: string
type: array
names:
description: The list of excepted names.
items:
type: string
type: array
paths:
description: The list of excepted paths.
items:
type: string
type: array
values:
description: The list of excepted values.
items:
type: string
type: array
required:
- paths
- names
- values
type: object
x-akamai:
file-path: schemas/criteria.yaml
type: array
names:
description: The list of request attribute names.
items:
type: string
type: array
selector:
description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).
enum:
- ARGS_NAMES
- ARGS
- REQUEST_HEADERS_NAMES
- REQUEST_HEADERS
- REQUEST_COOKIES_NAMES
- REQUEST_COOKIES
- JSON_NAMES
- JSON_PAIRS
- XML_PAIRS
- REQUEST_PROTOCOL
- REQUEST_METHOD
- REQUEST_URI
- QUERY_STRING
- REQUEST_FILENAME
- REQUEST_PATH_SEGMENT
- REQUEST_BODY
- REQBODY_PROCESSOR_ERROR
- FILES_NAMES
type: string
wildcard:
default: false
description: Whether the provided header `name` is a wildcard.
type: boolean
required:
- selector
type: object
type: array
type: object
x-akamai:
file-path: schemas/advanced-exception.yaml
exception:
additionalProperties: false
description: Describes the exception members that allow you to conditionally exclude requests from inspection.
properties:
anyHeaderCookieOrParam:
description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes.
items:
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
type: array
headerCookieOrParamValues:
description: The list of excepted values in headers, cookies, or query parameters.
items:
type: string
type: array
specificHeaderCookieOrParamNameValue:
additionalProperties: false
description: Contains details about the excepted name-value pair in a request.
properties:
name:
description: The name of the request attribute.
type: string
selector:
description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header.
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
value:
description: The value of the request attribute.
type: string
required:
- name
- selector
- value
type: object
specificHeaderCookieOrParamNames:
additionalProperties: false
description: Contains details about the excepted request attribute name.
properties:
names:
description: The list of request attribute names.
items:
type: string
type: array
selector:
description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header.
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
required:
- names
- selector
type: object
specificHeaderCookieOrParamPrefix:
additionalProperties: false
description: Contains details about the excepted request attribute name prefix.
properties:
prefix:
description: The request attribute name prefix.
type: string
selector:
description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header.
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
required:
- prefix
- selector
type: object
specificHeaderCookieParamXmlOrJsonNames:
description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled.
items:
additionalProperties: false
properties:
names:
description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset.
items:
type: string
type: array
selector:
description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).'
enum:
- ARGS_NAMES
- ARGS
- REQUEST_HEADERS_NAMES
- REQUEST_HEADERS
- REQUEST_COOKIES_NAMES
- REQUEST_COOKIES
- JSON_NAMES
- JSON_PAIRS
- XML_PAIRS
- REQUEST_PROTOCOL
- REQUEST_METHOD
- REQUEST_URI
- QUERY_STRING
- REQUEST_FILENAME
- REQUEST_PATH_SEGMENT
- REQUEST_BODY
- REQBODY_PROCESSOR_ERROR
- FILES_NAMES
type: string
wildcard:
default: false
description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character.
type: boolean
required:
- selector
type: object
type: array
type: object
x-akamai:
file-path: schemas/exception.yaml
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 members that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled.
properties:
conditionOperator:
description: Use `OR` to match any condition, or `AND` to match on all conditions.
enum:
- OR
- AND
type: string
conditions:
description: The list of match conditions.
items:
additionalProperties: false
description: Describes what conditions can be set for an action to occur.
properties:
caseSensitive:
description: Whether to consider the case-sensitivity of the provided query parameter `value`. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
clientLists:
description: The clientLists that trigger the condition. This only applies to the `clientListMatch` condition `type`.
items:
type: string
minItems: 0
type: array
extensions:
description: The file extensions that trigger the condition. This only applies to the `extensionMatch` condition `type`.
items:
type: string
type: array
filenames:
description: The filenames that trigger the condition. This only applies to the `filenameMatch` condition `type`.
items:
type: string
type: array
header:
description: The HTTP header that triggers the condition. This only applies to the `requestHeaderMatch` condition `type`.
type: string
hosts:
description: The hostnames that trigger the condition. This only applies to the `hostMatch` condition `type`.
items:
type: string
type: array
ips:
description: The IPs that trigger the condition. This only applies to the `ipMatch` condition `type`.
items:
type: string
type: array
methods:
description: The HTTP request methods that trigger the condition. The possible values are `GET`, `POST`, `HEAD`, `PUT`, `DELETE`, `OPTIONS`, `TRACE`, `CONNECT` and `PATCH`. This only applies to the `requestMethodMatch` condition `type`.
items:
enum:
- GET
- POST
- HEAD
- PUT
- DELETE
- OPTIONS
- TRACE
- CONNECT
- PATCH
type: string
type: array
name:
description: The query parameter name that triggers the condition. This only applies to the `uriQueryMatch` condition `type`.
type: string
nameCase:
description: Whether to consider the case-sensitivity of the provided query parameter `name`. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
paths:
description: The paths that trigger the condition. This only applies to the `pathMatch` condition `type`.
items:
type: string
type: array
positiveMatch:
description: Whether the condition should trigger on a match (`true`) or a lack of match (`false`).
type: boolean
type:
description: The condition type to match on. See [Export condition type values](https://techdocs.akamai.com/application-security/reference/etval).
enum:
- hostMatch
- pathMatch
- filenameMatch
- extensionMatch
- uriQueryMatch
- ipMatch
- requestMethodMatch
- requestHeaderMatch
- clientListMatch
type: string
useHeaders:
description: Whether the condition should include `X-Forwarded-For` (XFF) header. This applies to the `ipMatch` and `clientListMatch` condition `type`.
type: boolean
value:
description: The query parameter value if the condition `type` is `uriQueryMatch` and header value if the condition `type` is `requestHeaderMatch`. This only applies when the condition `type` is `uriQueryMatch` or `requestHeaderMatch`.
type: string
valueCase:
description: Whether to consider the case-sensitivity of the provided header `value`. This only applies to the `requestHeaderMatch` condition `type`.
type: boolean
valueWildcard:
description: Whether the provided header `value` is a wildcard. This only applies to the `requestHeaderMatch` condition `type`.
type: boolean
wildcard:
description: Whether the provided query parameter `value` is a wildcard. This only applies to the `uriQueryMatch` condition `type`.
type: boolean
required:
- type
- positiveMatch
type: object
x-akamai:
file-path: schemas/condition.yaml
type: array
headerCookieOrParamValues:
description: The list of excepted values in headers, cookies, or query parameters.
items:
additionalProperties: false
properties:
criteria:
description: A list of criteria to limit the scope of this exception.
items:
additionalProperties: false
description: The hostname and path criteria to limit the scope of exception.
properties:
hostnames:
description: The list of excepted hostnames.
items:
type: string
type: array
names:
description: The list of excepted names.
items:
type: string
type: array
paths:
description: The list of excepted paths.
items:
type: string
type: array
values:
description: The list of excepted values.
items:
type: string
type: array
required:
- paths
- names
- values
type: object
x-akamai:
file-path: schemas/criteria.yaml
type: array
valueWildcard:
default: false
description: Whether the provided header `name` is a wildcard.
type: boolean
values:
description: The list of request attribute names.
items:
type: string
type: array
required:
- values
type: object
type: array
specificHeaderCookieOrParamNameValue:
description: Contains details about the excepted name-value pairs in a request.
items:
additionalProperties: false
properties:
criteria:
description: A list of criteria to limit the scope of this exception.
items:
additionalProperties: false
description: The hostname and path criteria to limit the scope of exception.
properties:
hostnames:
description: The list of excepted hostnames.
items:
type: string
type: array
names:
description: The list of excepted names.
items:
type: string
type: array
paths:
description: The list of excepted paths.
items:
type: string
type: array
values:
description: The list of excepted values.
items:
type: string
type: array
required:
- paths
- names
- values
type: object
x-akamai:
file-path: schemas/criteria.yaml
type: array
namesValues:
description: A list of name-value pairs to except.
items:
additionalProperties: false
properties:
names:
description: The list of request attribute names.
items:
type: string
type: array
values:
description: The list of request attribute values.
items:
type: string
type: array
required:
- names
type: object
type: array
selector:
description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
wildcard:
default: false
description: Whether the provided header `name` is a wildcard.
type: boolean
required:
- namesValues
- selector
type: object
type: array
specificHeaderCookieParamXmlOrJsonNames:
description: Describes the advanced exception members that allow you to conditionally exclude requests from inspection. This is only available for attack groups and when the advanced exception feature is enabled.
items:
additionalProperties: false
properties:
criteria:
description: A list of criteria to limit the scope of this exception.
items:
additionalProperties: false
description: The hostname and path criteria to limit the scope of exception.
properties:
hostnames:
description: The list of excepted hostnames.
items:
type: string
type: array
names:
description: The list of excepted names.
items:
type: string
type: array
paths:
description: The list of excepted paths.
items:
type: string
type: array
values:
description: The list of excepted values.
items:
type: string
type: array
required:
- paths
- names
- values
type: object
x-akamai:
file-path: schemas/criteria.yaml
type: array
names:
description: The list of request attribute names.
items:
type: string
type: array
selector:
description: The request attribute to exclude from inspection. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).
enum:
- ARGS_NAMES
- ARGS
- REQUEST_HEADERS_NAMES
- REQUEST_HEADERS
- REQUEST_COOKIES_NAMES
- REQUEST_COOKIES
- JSON_NAMES
- JSON_PAIRS
- XML_PAIRS
- REQUEST_PROTOCOL
- REQUEST_METHOD
- REQUEST_URI
- QUERY_STRING
- REQUEST_FILENAME
- REQUEST_PATH_SEGMENT
- REQUEST_BODY
- REQBODY_PROCESSOR_ERROR
- FILES_NAMES
type: string
wildcard:
default: false
description: Whether the provided header `name` is a wildcard.
type: boolean
required:
- selector
type: object
type: array
type: object
x-akamai:
file-path: schemas/advanced-exception.yaml
exception:
additionalProperties: false
description: Describes the exception members that allow you to conditionally exclude requests from inspection.
properties:
anyHeaderCookieOrParam:
description: The list of request attributes to treat as rule or attack group exceptions. The possible values are `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, and `REQUEST_HEADERS` for a request header. Use this option if you can't get an exhaustive list of elements to exclude or the list is too large. You can exclude several attributes.
items:
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
type: array
headerCookieOrParamValues:
description: The list of excepted values in headers, cookies, or query parameters.
items:
type: string
type: array
specificHeaderCookieOrParamNameValue:
additionalProperties: false
description: Contains details about the excepted name-value pair in a request.
properties:
name:
description: The name of the request attribute.
type: string
selector:
description: The request attribute that includes the excepted name-value pair. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header.
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
value:
description: The value of the request attribute.
type: string
required:
- name
- selector
- value
type: object
specificHeaderCookieOrParamNames:
additionalProperties: false
description: Contains details about the excepted request attribute name.
properties:
names:
description: The list of request attribute names.
items:
type: string
type: array
selector:
description: The request attribute that includes the excepted name. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header.
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
required:
- names
- selector
type: object
specificHeaderCookieOrParamPrefix:
additionalProperties: false
description: Contains details about the excepted request attribute name prefix.
properties:
prefix:
description: The request attribute name prefix.
type: string
selector:
description: The request attribute that includes the excepted name prefix. Either `REQUEST_COOKIES`, `JSON_PAIRS` for a JSON parameter, `XML_PAIRS` for an XML parameter, `ARGS` for a request parameter, or `REQUEST_HEADERS` for a request header.
enum:
- REQUEST_COOKIES
- JSON_PAIRS
- XML_PAIRS
- ARGS
- REQUEST_HEADERS
type: string
required:
- prefix
- selector
type: object
specificHeaderCookieParamXmlOrJsonNames:
description: Contains details about the excepted request attribute names. This is only available for attack groups and when advanced exception is not enabled.
items:
additionalProperties: false
properties:
names:
description: Lists request attribute names, required with several `selector` options. With `wildcard` enabled, `*` represents a sequence and `?` represents any single character. For example, `*` matches any name, and `*session` matches a subset.
items:
type: string
type: array
selector:
description: 'The request attribute to exclude from inspection. The following selectors require a set of `names`: `ARGS_NAMES`, `ARGS`, `REQUEST_HEADERS_NAMES`, `REQUEST_HEADERS`, `REQUEST_COOKIES_NAMES`, `REQUEST_COOKIES`, `JSON_NAMES`, `JSON_PAIRS`, and `XML_PAIRS`. See [Exception selector values](https://techdocs.akamai.com/application-security/reference/exception-selector-values).'
enum:
- ARGS_NAMES
- ARGS
- REQUEST_HEADERS_NAMES
- REQUEST_HEADERS
- REQUEST_COOKIES_NAMES
- REQUEST_COOKIES
- JSON_NAMES
- JSON_PAIRS
- XML_PAIRS
- REQUEST_PROTOCOL
- REQUEST_METHOD
- REQUEST_URI
- QUERY_STRING
- REQUEST_FILENAME
- REQUEST_PATH_SEGMENT
- REQUEST_BODY
- REQBODY_PROCESSOR_ERROR
- FILES_NAMES
type: string
wildcard:
default: false
description: Whether you can specify wildcards to flexibly match `names`, either `*` for any set of characters, or `?` for any single character.
type: boolean
required:
- selector
type: object
type: array
type: object
x-akamai:
file-path: schemas/exception.yaml
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:
- true
- false
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:
description: The SIEM details in the configuration version.
items:
additionalProperties: false
description: Contains details about the Security Information Event Management (SIEM) integration settings in the exported 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:
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 to be excluded for a particular attack type. A `*` value means all actions.
items:
enum:
- '*'
- alert
- deny
- all_custom
- abort
- allow
- delay
- ignore
- monitor
- slow
- tarpit
type: string
minItems: 0
type: array
protection:
description: Describes attack type 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
type: array
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:
- action
- status
- time
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
- versionNotes
type: object
x-akamai:
file-path: schemas/export.yaml
description: Successfully returned resource.
'403':
content:
application/problem+json:
example:
detail: You do not have the necessary access to perform this operation or the requested resource cannot be modified
instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
status: 403
title: Forbidden
type: https://problems.luna.akamaiapis.net/appsec-resource/error-types/ACCESS-DENIED
schema:
additionalProperties: true
description: Details the errors you can receive.
properties:
detail:
description: The detailed error message.
type: string
fieldErrors:
additionalProperties:
description: Fields that provide additional details about the problem.
type: string
description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field.
type: object
instance:
description: The non-referenceable URI that indicates the error instance.
example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
type: string
status:
description: The HTTP status code.
example: 404
type: integer
title:
description: The error title.
example: Not Found
type: string
type:
description: The URL for the error type.
example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND
type: string
required:
- title
- type
- detail
- instance
- status
type: object
x-akamai:
file-path: schemas/problem-details.yaml
description: '[Forbidden](https://techdocs.akamai.com/application-security/reference/403). You don''t have 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:
additionalProperties:
description: Fields that provide additional details about the problem.
type: string
description: Pointers to fields for which invalid input was provided, whose values are messages detailing the reason this input was invalid for this field.
type: object
instance:
description: The non-referenceable URI that indicates the error instance.
example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749
type: string
status:
description: The HTTP status code.
example: 404
type: integer
title:
description: The error title.
example: Not Found
type: string
type:
description: The URL for the error type.
example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND
type: string
required:
- title
- type
- detail
- instance
- status
type: object
x-akamai:
file-path: schemas/problem-details.yaml
description: '[Not found](https://techdocs.akamai.com/application-security/reference/404). That resource doesn''t exist, or the URL is malformed.'
x-akamai:
file-path: errors/404.yaml
summary: Akamai API Security Export a Configuration Version
tags:
- Configuration version export
externalDocs:
description: See documentation for Akamai's Application Security API
url: https://techdocs.akamai.com/application-security/reference
x-readme:
samples-languages:
- curl
- python
- node