Akamai API Security Configuration version diff API

The Configuration version diff API from Akamai API Security — 1 operation(s) for configuration version diff.

OpenAPI Specification

akamai-api-security-configuration-version-diff-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 Configuration version diff API'
  version: v1
servers:
- url: https://{hostname}/appsec/v1
tags:
- name: Configuration version diff
paths:
  /configs/{configId}/versions/diff:
    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
    x-akamai:
      file-path: paths/diff.yaml
      path-info: /configs/{configId}/versions/diff
    post:
      description: This operation shows you differences between configuration versions. The `to` version is relative to the `from` version, and the versions you compare can be non-sequential. This means the `from` value can be more a more recent version than the `to` value. For more information, see [Diff configuration versions](https://techdocs.akamai.com/application-security/reference/diff-configuration-versions).
      externalDocs:
        description: See documentation for this operation in Akamai's Application Security API
        url: https://techdocs.akamai.com/application-security/reference/post-config-versions-diff
      operationId: post-config-versions-diff
      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:
              from: 1
              outcomes:
              - MODIFIED
              - UNMODIFIED
              to: 2
            schema:
              additionalProperties: false
              properties:
                from:
                  description: The configuration version number to compare against.
                  example: '{{from}}'
                  type: integer
                outcomes:
                  default:
                  - MODIFIED
                  description: Show either `MODIFIED` or `UNMODIFIED` data, or both. When empty, only `MODIFIED` values are returned.
                  items:
                    enum:
                    - MODIFIED
                    - UNMODIFIED
                    type: string
                  type: array
                to:
                  description: The configuration version number you're comparing to the version in `from`.
                  example: '{{to}}'
                  type: integer
              required:
              - from
              - to
              type: object
              x-akamai:
                file-path: schemas/diff-request.yaml
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                changesCount:
                  added: 0
                  modified: 4
                  removed: 0
                  unmodified: 0
                configId: 258702
                outcome: MODIFIED
                ratePolicies:
                  outcome: MODIFIED
                  removed:
                  - averageThreshold:
                      from: 100
                      outcome: REMOVED
                      to: null
                    burstThreshold:
                      from: 10
                      outcome: REMOVED
                      to: null
                    burstWindow:
                      from: 5
                      outcome: REMOVED
                      to: null
                    changesCount:
                      added: 0
                      modified: 0
                      removed: 18
                      unmodified: 0
                    clientIdentifier:
                      from: ip
                      outcome: REMOVED
                      to: null
                    counterType:
                      from: per_edge
                      outcome: REMOVED
                      to: null
                    description:
                      from: Mitigating HTTP flood attacks using GET requests
                      outcome: REMOVED
                      to: null
                    id: 403981
                    matchType:
                      from: path
                      outcome: REMOVED
                      to: null
                    name:
                      from: GET Page Requests
                      outcome: REMOVED
                      to: null
                    outcome: REMOVED
                    pathMatchType:
                      from: Custom
                      outcome: REMOVED
                      to: null
                    pathUriPositiveMatch:
                      from: true
                      outcome: REMOVED
                      to: null
                    requestType:
                      from: ClientRequest
                      outcome: REMOVED
                      to: null
                    sameActionOnIpv6:
                      from: true
                      outcome: REMOVED
                      to: null
                    type:
                      from: WAF
                      outcome: REMOVED
                      to: null
                    useXForwardForHeaders:
                      from: false
                      outcome: REMOVED
                      to: null
                    used:
                      from: false
                      outcome: REMOVED
                      to: null
                securityPolicies:
                  added:
                  - changesCount:
                      added: 6
                      modified: 0
                      removed: 0
                      unmodified: 0
                    hasRatePolicyWithApiKey:
                      from: null
                      outcome: ADDED
                      to: false
                    id: '2222_517319'
                    name:
                      from: null
                      outcome: ADDED
                      to: Policy 2
                    outcome: ADDED
                    pragmaHeader:
                      action:
                        from: null
                        outcome: ADDED
                        to: REMOVE
                      changesCount:
                        added: 3
                        modified: 0
                        removed: 0
                        unmodified: 0
                      conditionOperator:
                        from: null
                        outcome: ADDED
                        to: AND
                      outcome: ADDED
                    securityControls:
                      applyApplicationLayerControls:
                        from: null
                        outcome: ADDED
                        to: false
                      applyMalwareControls:
                        from: null
                        outcome: ADDED
                        to: false
                      applyNetworkLayerControls:
                        from: null
                        outcome: ADDED
                        to: false
                      applyRateControls:
                        from: null
                        outcome: ADDED
                        to: false
                      applyReputationControls:
                        from: null
                        outcome: ADDED
                        to: false
                      changesCount:
                        added: 10
                        modified: 0
                        removed: 0
                        unmodified: 0
                      outcome: ADDED
                  modified:
                  - changesCount:
                      added: 0
                      modified: 3
                      removed: 0
                      unmodified: 0
                    id: '1111_517317'
                    outcome: MODIFIED
                    requestBody:
                      changesCount:
                        added: 0
                        modified: 1
                        removed: 0
                        unmodified: 0
                      outcome: MODIFIED
                      requestBodyInspectionLimitInKB:
                        from: null
                        outcome: MODIFIED
                        to: '8'
                    webApplicationFirewall:
                      attackGroupActions:
                        modified:
                        - action:
                            from: alert
                            outcome: MODIFIED
                            to: deny
                          changesCount:
                            added: 0
                            modified: 1
                            removed: 0
                            unmodified: 0
                          group: CMD
                          outcome: MODIFIED
                          rulesetVersionId: 7151
                        outcome: MODIFIED
                      changesCount:
                        added: 0
                        modified: 1
                        removed: 0
                        unmodified: 0
                      outcome: MODIFIED
                  outcome: MODIFIED
                selectedHosts:
                  added:
                  - host4.com
                  from:
                  - host1.com
                  - host2.com
                  - host3.com
                  outcome: MODIFIED
                  removed:
                  - host1.com
                  to:
                  - host2.com
                  - host3.com
                  - host4.com
              schema:
                description: 'The response object represents much the same data as the [Export a configuration version](https://techdocs.akamai.com/application-security/reference/get-export-config-version) operation, but substituting additional objects that represent diffs. The structure of these diffs vary when comparing different types of data: simple values, simple arrays, objects, and object arrays.  For details on the diff format, see [Diff configuration versions](https://techdocs.akamai.com/application-security/reference/diff-configuration-versions).'
                type: object
                x-akamai:
                  file-path: schemas/export-diff-summary.yaml
          description: 'The response object represents much the same data as the [Export a configuration version](https://techdocs.akamai.com/application-security/reference/get-export-config-version) operation, but substituting additional objects that represent diffs. The structure of these diffs vary when comparing different types of data: simple values, simple arrays, objects, and object arrays.  For details on the diff format, see [Diff configuration versions](https://techdocs.akamai.com/application-security/reference/diff-configuration-versions).'
        '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 the resource.'
          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). That resource doesn''t exist, or the URL is malformed.'
          x-akamai:
            file-path: errors/404.yaml
      summary: Akamai API Security Compare Two Versions
      tags:
      - Configuration version diff
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