Akamai API Security · Schema
hostname-coverage-match-target
Contains details about a hostname coverage match target.
API DiscoveryAPI SecurityCloud SecurityPosture ManagementRuntime ProtectionThreat Protection
Properties
| Name | Type | Description |
|---|---|---|
| apis | array | The list of API endpoint identifiers and names. This applies only for `api` match targets. |
| bypassNetworkLists | array | The network lists' identifiers and names in the match target. |
| defaultFile | string | 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` t |
| effectiveSecurityControls | object | __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. |
| fileExtensions | array | The list of file extensions to apply the match target to. |
| filePaths | array | The list of file paths to apply the match target to. |
| hostnames | array | The list of hostnames to protect. |
| isNegativeFileExtensionMatch | boolean | Whether the match target applies when a match is found in the specified `fileExtensions` or when a match isn't found. |
| isNegativePathMatch | boolean | Whether the match target applies when a match is found in the specified `filePaths` or when a match isn't found. |
| securityPolicy | object | The security policy associated with the match target. |
| sequence | integer | The match target's position in the sequence of match targets. |
| targetId | integer | Uniquely identifies the match target. |
| type | string | The type of match target. Either `website` or `api`. |
| validations | object | __Read-only__ Contains details about warnings, errors, or notices determined by a validation of this resource. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/akamai-api-security/refs/heads/main/json-schema/api-security-hostname-coverage-match-target-schema.json",
"title": "hostname-coverage-match-target",
"description": "Contains details about a hostname coverage match target.",
"type": "object",
"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"
],
"additionalProperties": false
}