{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/reputation-profiles", "title": "reputation-profiles", "additionalProperties": false, "description": "Contains details about reputation profiles.", "properties": { "reputationProfiles": { "description": "A list of reputation profiles in this configuration version.", "items": { "additionalProperties": false, "description": "Contains details about a reputation profile.", "properties": { "condition": { "additionalProperties": false, "description": "Contains information about the criteria that trigger the reputation profile.", "properties": { "atomicConditions": { "description": "The conditions that trigger the reputation profile.", "items": { "additionalProperties": false, "properties": { "checkIps": { "description": "Use `both` to include the `X-Forwarded-For` (XFF) header and the client\u2019s IP address. Use `connecting` to exclude the XFF header. The XFF header is easily spoofed, so only include it in rare cases.", "enum": [ "connecting", "both" ], "type": "string" }, "className": { "description": "The condition type. For available values, see [Condition Values](https://techdocs.akamai.com/application-security/reference/condition-values).", "enum": [ "NetworkListCondition", "AsNumberCondition", "IpAddressCondition", "RequestCookieCondition", "RequestHeaderCondition", "HostCondition", "UrlPatternCondition" ], "type": "string" }, "host": { "description": "A list of hostnames. This only applies to the `HostCondition` `className`.", "items": { "description": "A hostname.", "minLength": 1, "type": "string" }, "minItems": 1, "type": "array", "uniqueItems": true }, "index": { "description": "The location of the parameter's data within the array.", "type": "integer" }, "name": { "description": "The condition value of `name`. This only applies to the `RequestHeaderCondition`, and `RequestCookieCondition` condition `className`.", "oneOf": [ { "title": "Single name", "type": "string" }, { "items": { "type": "string" }, "title": "Array of names", "type": "array" } ] }, "nameCase": { "description": "Whether to consider the case sensitivity of the provided query names.", "type": "boolean" }, "nameWildcard": { "description": "Whether the provided value of `name` is a wildcard. This only applies to the `RequestHeaderCondition`, and `RequestCookieCondition` condition `className`.", "type": "boolean" }, "positiveMatch": { "description": "Whether the condition should trigger on a match (`true`) or a lack of match (`false`).", "type": "boolean" }, "value": { "description": "The list of values that trigger the condition.", "items": { "type": "string" }, "minItems": 1, "type": "array", "uniqueItems": true }, "valueCase": { "default": false, "description": "Whether to consider the character case when comparing the value string with the request value. The default is `false`, meaning that a value such as `url` would match a string `UrL` in the request.", "type": "boolean" }, "valueWildcard": { "default": true, "description": "Whether to treat the asterisk (`*`) and question mark (`?`) as wildcards when comparing the value string with the request value. Note that setting this to `false` isn't supported by the host condition, and means that the value string must match exactly.", "type": "boolean" } }, "type": "object" }, "type": "array" }, "positiveMatch": { "description": "Whether the condition should trigger on a match (`true`) or a lack of match (`false`).", "type": "boolean" } }, "type": "object" }, "context": { "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.", "enum": [ "WEBSCRP", "DOSATCK", "WEBATCK", "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" }, "sharedIpHandling": { "description": "Identifies the IP sharing. Either `NON_SHARED`, `SHARED_ONLY`, `BOTH`.", "enum": [ "NON_SHARED", "SHARED_ONLY", "BOTH" ], "type": "string" }, "threshold": { "description": "The threshold when the profile to triggers.", "type": "number" } }, "required": [ "name", "context", "threshold", "sharedIpHandling" ], "type": "object", "x-akamai": { "file-path": "schemas/reputation-profile.yaml" } }, "type": "array" } }, "type": "object", "x-akamai": { "file-path": "schemas/reputation-profiles.yaml" } }