openapi: 3.0.0 info: title: 'Akamai: API Endpoint Definition Access tokens Shared resources: Reputation profiles API' version: '2' license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html description: 'Manage your reputation profiles. Reputation protections identify potentially malicious IP addresses, scoring them based on prior interactions with other Akamai customers.' servers: - url: https://{hostname}/api-definitions/v2 tags: - description: 'Manage your reputation profiles. Reputation protections identify potentially malicious IP addresses, scoring them based on prior interactions with other Akamai customers.' name: 'Shared resources: Reputation profiles' paths: /configs/{configId}/versions/{versionNumber}/reputation-profiles: parameters: - description: A unique identifier for each configuration. 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. 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-reputation-profiles.yaml path-info: /configs/{configId}/versions/{versionNumber}/reputation-profiles post: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Create a new reputation profile for a specific configuration version. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/post-reputation-profiles operationId: post-reputation-profiles 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). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string requestBody: content: application/json: example: condition: atomicConditions: - className: AsNumberCondition positiveMatch: true value: - '1' - className: RequestCookieCondition name: x-header nameCase: true nameWildcard: true positiveMatch: true valueWildcard: true - className: HostCondition host: - '*.com' positiveMatch: true valueWildcard: true positiveMatch: true context: WEBATCK description: Reputation profile description name: Web Attack Rep Profile sharedIpHandling: NON_SHARED threshold: 5 schema: 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’s 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 required: true responses: '201': content: application/json: example: condition: atomicConditions: - checkIps: connecting className: AsNumberCondition index: 1 positiveMatch: true value: - '1' - className: RequestCookieCondition index: 2 name: x-header nameCase: true nameWildcard: true positiveMatch: true valueCase: false valueWildcard: true - className: HostCondition host: - '*.com' index: 3 positiveMatch: true valueWildcard: true positiveMatch: true context: WEBATCK description: Reputation profile description enabled: false id: 2509987 name: Web Attack Rep Profile sharedIpHandling: NON_SHARED threshold: 5 schema: 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’s 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 description: Successfully created a reputation profile. '400': content: application/problem+json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: 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: '[Bad request](https://techdocs.akamai.com/application-security/reference/400). Invalid request body or URL parameter input.' x-akamai: file-path: errors/400.yaml '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: 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 reputation profiles in this security configuration.' 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: 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). Security configuration version wasn''t found.' x-akamai: file-path: errors/404.yaml summary: Create a reputation profile tags: - 'Shared resources: Reputation profiles' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module get: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Returns reputation profiles for a specific security configuration version. To use reputation profiles, you need to add [Client Reputation](https://techdocs.akamai.com/app-api-protector/docs/control-client-reputation) to Kona Site Defender on your contract. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-reputation-profiles operationId: get-reputation-profiles 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). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: reputationProfiles: - context: SCANTL contextReadable: Scanning Tools enabled: false id: 146254 name: Scanning Tools (High Threat) sharedIpHandling: NON_SHARED threshold: 9 - context: WEBATCK contextReadable: Web Attackers enabled: false id: 146258 name: Web Attackers (Low Threat) sharedIpHandling: SHARED_ONLY threshold: 5 - condition: atomicConditions: - className: RequestCookieCondition name: cookie nameWildcard: true positiveMatch: true value: - cookie valueWildcard: true positiveMatch: true context: WEBATCK contextReadable: Web Attackers description: this is a customized reputation profile enabled: true id: 146259 name: Custom Reputation Profile sharedIpHandling: SHARED_ONLY threshold: 3 schema: 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’s 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 description: Successfully returned reputation profiles. '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: 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 reputation profile in this security configuration.' 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: 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). Security configuration version wasn''t found.' x-akamai: file-path: errors/404.yaml summary: List reputation profiles tags: - 'Shared resources: Reputation profiles' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module /configs/{configId}/versions/{versionNumber}/reputation-profiles/{reputationProfileId}: parameters: - description: A unique identifier for each configuration. 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. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml - description: A unique identifier for each reputation profile. in: path name: reputationProfileId required: true schema: example: 112231 type: integer x-akamai: file-path: parameters/reputation-profile-id-path.yaml x-akamai: file-path: paths/config-reputation-profile.yaml path-info: /configs/{configId}/versions/{versionNumber}/reputation-profiles/{reputationProfileId} get: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Returns the details for a specific reputation profile. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-reputation-profile operationId: get-reputation-profile 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). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: condition: atomicConditions: - checkIps: connecting className: AsNumberCondition index: 1 positiveMatch: true value: - '1' - className: RequestCookieCondition index: 2 name: x-header nameCase: true nameWildcard: true positiveMatch: true valueCase: false valueWildcard: true - className: HostCondition host: - '*.com' index: 3 positiveMatch: true valueWildcard: true positiveMatch: true context: WEBATCK description: Reputation profile description enabled: false id: 2509987 name: Web Attack Rep Profile sharedIpHandling: NON_SHARED threshold: 5 schema: 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’s 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 description: Successfully returned reputation profile. '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: 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 reputation profile in this security configuration.' 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: 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). Security configuration version or reputation profile wasn''t found.' x-akamai: file-path: errors/404.yaml summary: Get a reputation profile tags: - 'Shared resources: Reputation profiles' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module put: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Update details for a specific reputation profile. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/put-reputation-profile operationId: put-reputation-profile 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). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string requestBody: content: application/json: example: condition: atomicConditions: - checkIps: connecting className: AsNumberCondition index: 1 positiveMatch: true value: - '1' - className: RequestCookieCondition index: 2 name: x-header nameCase: true nameWildcard: true positiveMatch: true valueCase: false valueWildcard: true - className: HostCondition host: - example.com index: 3 positiveMatch: true valueWildcard: true positiveMatch: true context: WEBATCK description: Reputation profile description enabled: false id: 2509987 name: Web Attack Rep Profile sharedIpHandling: NON_SHARED threshold: 5 schema: 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’s 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 required: true responses: '200': content: application/json: example: condition: atomicConditions: - checkIps: connecting className: AsNumberCondition index: 1 positiveMatch: true value: - '1' - className: RequestCookieCondition index: 2 name: x-header nameCase: true nameWildcard: true positiveMatch: true valueCase: false valueWildcard: true - className: HostCondition host: - '*.com' index: 3 positiveMatch: true valueWildcard: true positiveMatch: true context: WEBATCK description: Reputation profile description enabled: false id: 2509987 name: Web Attack Rep Profile sharedIpHandling: NON_SHARED threshold: 5 schema: 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’s 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 description: Successfully updated reputation profile. '400': content: application/problem+json: example: detail: The request could not be understood by the server due to malformed syntax. instance: https://problems.luna.akamaiapis.net/appsec/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 status: 400 title: Bad Request type: https://problems.luna.akamaiapis.net/appsec/error-types/BAD-REQUEST schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: 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: '[Bad request](https://techdocs.akamai.com/application-security/reference/400). Invalid request body or URL parameter input.' x-akamai: file-path: errors/400.yaml '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: 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 reputation profile in this security configuration.' 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: 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). Security configuration version or reputation profile wasn''t found.' x-akamai: file-path: errors/404.yaml summary: Modify a reputation profile tags: - 'Shared resources: Reputation profiles' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module delete: description: __Kona Site Defender__, __App & API Protector with the Advanced Security module__ Delete a reputation profile. You can't delete a reputation profile that is actively in use. To delete the reputation profile, first activate an older configuration version or create a new version without that policy in place. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/delete-reputation-profile operationId: delete-reputation-profile 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). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '204': content: {} description: Successfully deleted the reputation profile. '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: 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 reputation profile in this security configuration.' 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: 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). Security configuration version or reputation profile wasn''t found.' x-akamai: file-path: errors/404.yaml summary: Remove a reputation profile tags: - 'Shared resources: Reputation profiles' x-akamai: labels: - Kona Site Defender - App & API Protector with the Advanced Security module externalDocs: description: See documentation for Akamai's API Endpoint Definition API url: https://techdocs.akamai.com/api-definitions/reference x-readme: samples-languages: - curl - python - node