{ "operationId": "post-config-versions-diff", "method": "POST", "path": "/configs/{configId}/versions/diff", "summary": "Compare two versions", "requestExamples": [ { "contentType": "application/json", "example": { "from": 1, "outcomes": [ "MODIFIED", "UNMODIFIED" ], "to": 2 } } ], "responseExamples": [ { "status": "200", "contentType": "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 }, "penaltyBoxDuration": { "from": "TEN_MINUTES", "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" ] } } }, { "status": "400", "contentType": "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" } }, { "status": "403", "contentType": "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" } }, { "status": "404", "contentType": "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" } } ] }