Akamai API Security Match targets API
Manage your match targets, which define which security policy applies to an API, hostname, or path.
Manage your match targets, which define which security policy applies to an API, hostname, or path.
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 Match targets API'
version: v1
servers:
- url: https://{hostname}/appsec/v1
tags:
- description: 'Manage your match targets, which define which security policy
applies to an API, hostname, or path.'
name: Match targets
paths:
/configs/{configId}/versions/{versionNumber}/hostname-coverage/match-targets:
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/config-hostname-coverage-match-targets.yaml
path-info: /configs/{configId}/versions/{versionNumber}/hostname-coverage/match-targets
get:
description: List the API and website match targets that protect a hostname. _Products:_ Kona Site Defender, App & API Protector with the Advanced Security module.
externalDocs:
description: See documentation for this operation in Akamai's Application Security API
url: https://techdocs.akamai.com/application-security/reference/get-coverage-match-targets
operationId: get-coverage-match-targets
parameters:
- description: Get results by hostname.
example: '{{hostname}}'
in: query
name: hostname
schema:
example: www.example.com
type: string
x-akamai:
file-path: parameters/search-hostname.yaml
- 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:
matchTargets:
apiTargets: []
websiteTargets:
- bypassNetworkLists:
- id: 1410_BYPASSWAFLIST
name: shawn - BypassWAFList
configId: 75498
configVersion: 428
defaultFile: NO_MATCH
effectiveSecurityControls:
applyApplicationLayerControls: true
applyBotmanControls: true
applyNetworkLayerControls: true
applyPageIntegrityControls: false
applyRateControls: true
applyReputationControls: true
applySlowPostControls: true
fileExtensions: []
filePaths:
- /content/tealeaf
firewallPolicy:
evaluated: false
policyId: GRD_4186
policyName: Main Street Corporation USA
policySecurityControls:
applyApiConstraints: false
applyApplicationLayerControls: true
applyBotmanControls: true
applyNetworkLayerControls: true
applyPageIntegrityControls: false
applyRateControls: true
applyReputationControls: true
applySlowPostControls: true
hostnames:
- www.example.com
- m.example.com
- m.new.example.com
- safety.example.com
- static.example.net
- failover3.example.com
- static.example.com
- images.example.com
- failover5.example.com
- espanol.example.com
isNegativeFileExtensionMatch: false
isNegativePathMatch: false
isTargetSecurityControlsEditable: false
logicalId: 1730010
sequence: 3
targetId: 2555705
targetSecurityControls:
applyApplicationLayerControls: true
applyNetworkLayerControls: true
applyPageIntegrityControls: false
applyRateControls: true
applyReputationControls: true
applySlowPostControls: true
type: website
schema:
additionalProperties: false
description: Contains the hostname coverage 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 hostname coverage match target.
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/hostname-coverage-match-target.yaml
type: array
websiteTargets:
description: The list of `website` match targets.
items:
additionalProperties: false
description: Contains details about a hostname coverage match target.
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
# --- truncated at 32 KB (184 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/akamai-api-security/refs/heads/main/openapi/akamai-api-security-match-targets-api-openapi.yml