Akamai API Security Shared resources: Reputation profiles API

Manage your reputation profiles. Reputation protections identify potentially malicious IP addresses, scoring them based on prior interactions with other Akamai customers.

OpenAPI Specification

akamai-api-security-shared-resources-reputation-profiles-api-openapi.yml Raw ↑
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 p

# --- truncated at 32 KB (76 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/akamai-api-security/refs/heads/main/openapi/akamai-api-security-shared-resources-reputation-profiles-api-openapi.yml