{ "$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-reputation-profiles-schema.json", "title": "reputation-profiles", "description": "Contains details about reputation profiles.", "type": "object", "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": { "positiveMatch": { "description": "Whether the condition should trigger on a match (`true`) or a lack of match (`false`).", "type": "boolean" }, "type": { "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" }, "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" } }, "additionalProperties": false }