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 Shared resources: Reputation profiles API' version: v1 servers: - url: https://{hostname}/appsec/v1 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. 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-reputation-profiles.yaml path-info: /configs/{configId}/versions/{versionNumber}/reputation-profiles post: description: Create a new reputation profile for a specific configuration version. _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/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). example: '{{accountSwitchKey}}' 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: 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 example: '{{context}}' type: string contextReadable: description: __Read-only__ Describes the reputation category. example: '{{contextReadable}}' readOnly: true type: string description: description: Describes the reputation profile. example: '{{description}}' type: string enabled: description: __Read-only__ Whether you enabled the reputation profile. example: '{{enabled}}' readOnly: true type: boolean id: description: __Read-only__ Uniquely identifies the reputation profile. example: '{{id}}' readOnly: true type: integer name: description: The name you assigned to the reputation profile. example: '{{name}}' type: string sharedIpHandling: description: Identifies the IP sharing. Either `NON_SHARED`, `SHARED_ONLY`, `BOTH`. enum: - NON_SHARED - SHARED_ONLY - BOTH example: '{{sharedIpHandling}}' type: string threshold: description: The threshold when the profile to triggers. example: '{{threshold}}' 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: 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 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: Akamai API Security Create a Reputation Profile tags: - 'Shared resources: Reputation profiles' get: description: 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. _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-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). example: '{{accountSwitchKey}}' 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 description: Rep condition description id: '2156' name: Rep condition 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: 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 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: Akamai API Security List Reputation Profiles tags: - 'Shared resources: Reputation profiles' /configs/{configId}/versions/{versionNumber}/reputation-profiles/{reputationProfileId}: 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 - description: A unique identifier for each reputation profile. example: '{{reputationProfileId}}' 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: Returns the details for a specific reputation profile. _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-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). example: '{{accountSwitchKey}}' 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: 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 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: Akamai API Security Get a Reputation Profile tags: - 'Shared resources: Reputation profiles' put: description: Update details for a specific reputation profile. _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/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). example: '{{accountSwitchKey}}' 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: 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 example: '{{context}}' type: string contextReadable: description: __Read-only__ Describes the reputation category. example: '{{contextReadable}}' readOnly: true type: string description: description: Describes the reputation profile. example: '{{description}}' type: string enabled: description: __Read-only__ Whether you enabled the reputation profile. example: '{{enabled}}' readOnly: true type: boolean id: description: __Read-only__ Uniquely identifies the reputation profile. example: '{{id}}' readOnly: true type: integer name: description: The name you assigned to the reputation profile. example: '{{name}}' type: string sharedIpHandling: description: Identifies the IP sharing. Either `NON_SHARED`, `SHARED_ONLY`, `BOTH`. enum: - NON_SHARED - SHARED_ONLY - BOTH example: '{{sharedIpHandling}}' type: string threshold: description: The threshold when the profile to triggers. example: '{{threshold}}' 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: 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 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: Akamai API Security Modify a Reputation Profile tags: - 'Shared resources: Reputation profiles' delete: description: 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. _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/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). example: '{{accountSwitchKey}}' 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: additionalProperties: description: Fields that provide additional details about the problem. type: string 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: Akamai API Security Remove a Reputation Profile tags: - 'Shared resources: Reputation profiles' externalDocs: description: See documentation for Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference x-readme: samples-languages: - curl - python - node