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