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 Security policy: Evaluation mode API' version: v1 servers: - url: https://{hostname}/appsec/v1 tags: - description: 'Set the evaluation mode for your security policies. This mode runs concurrently with your existing Web Application Firewall Rule settings and records how the rules would respond if applied to live traffic.' name: 'Security policy: Evaluation mode' paths: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/eval: parameters: - description: A unique identifier for a security policy. example: '{{policyId}}' in: path name: policyId required: true schema: example: boBF_19288 type: string x-akamai: file-path: parameters/policy-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 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/policy-eval.yaml path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/eval post: description: 'Evaluation mode runs concurrently with your existing Web Application Firewall Rule settings and records how the rules would respond if they were applied to live traffic. The default action for evaluation rules is `alert`. Unlike other POST or PUT actions, this request object supports values other than `enabled` or `disabled`. Use `START` to begin evaluation mode. An evaluation period lasts four weeks unless you stop the evaluation. Once you begin, the rules you evaluate will respond to traffic as if they are your current rules. However, instead of taking an action the evaluation rules will log which action they would have taken if they were your active rules and not a test of future rules. Use `STOP` to end the evaluation before it completes on its own, and not upgrade your rules. Use `RESTART` to start an evaluation you previously stopped, or one that has expired. Use `COMPLETE` to stop your in-progress evaluation and automatically upgrade your existing KRS rules to the rule set you just evaluated. Use `UPDATE` to upgrade to the newest available version of evaluation rules. A request value of `START`, `RESTART`, or `COMPLETE` returns an `eval` value of `enabled`. A request value of `STOP` or `UPDATE` returns an `eval` value of `disabled`. _Products:_ Kona Site Defender, App & API Protector with the Advanced Security module. If you''re using Adaptive Security Engine, pass `eval` as usual, and add `"mode": "ASE_AUTO"` or `ASE_MANUAL` in your request. If you''re using Kona Rule Sets, continue to pass only the `eval` value.' externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/post-policy-eval operationId: post-policy-eval 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: eval: START mode: ASE_MANUAL schema: additionalProperties: false description: Contains setting for eval mode action. properties: eval: description: Set `eval` to `start`, `stop`, `restart`, `complete`, or `update` to manage the evaluation of new rules you want to test before you upgrade. If you set `eval` to `start`, `restart`, or `update`, the response object will have an `eval` value of `enabled`. The value is `disabled` for requests of `stop` or `complete`. For more information see [Set evaluation mode](https://techdocs.akamai.com/application-security/reference/post-policy-eval). enum: - START - STOP - RESTART - COMPLETE - UPDATE example: '{{eval}}' type: string mode: description: Optionally lets you specify between two Adaptive Security Engine (ASE) rule set types. Use `ASE_AUTO` for automatic updates to the ASE evaluation rules, or `ASE_MANUAL` to manually retrieve current evaluation rules. When not specified, the mode uses default settings. For a KRS 1.0 policy, that means using the KRS 1.0 rule set. enum: - ASE_AUTO - ASE_MANUAL example: '{{mode}}' type: string required: - eval type: object x-akamai: file-path: schemas/eval-mode.yaml required: true responses: '201': content: application/json: example: current: ASE Manual (Mar 16, 2022) eval: enabled evaluating: ASE Manual (Mar 16, 2022) mode: ASE_MANUAL schema: additionalProperties: false description: Contains setting for eval mode action. properties: eval: description: Set `eval` to `start`, `stop`, `restart`, `complete`, or `update` to manage the evaluation of new rules you want to test before you upgrade. If you set `eval` to `start`, `restart`, or `update`, the response object will have an `eval` value of `enabled`. The value is `disabled` for requests of `stop` or `complete`. For more information see [Set evaluation mode](https://techdocs.akamai.com/application-security/reference/post-policy-eval). enum: - START - STOP - RESTART - COMPLETE - UPDATE type: string mode: description: Optionally lets you specify between two Adaptive Security Engine (ASE) rule set types. Use `ASE_AUTO` for automatic updates to the ASE evaluation rules, or `ASE_MANUAL` to manually retrieve current evaluation rules. When not specified, the mode uses default settings. For a KRS 1.0 policy, that means using the KRS 1.0 rule set. enum: - ASE_AUTO - ASE_MANUAL type: string required: - eval type: object x-akamai: file-path: schemas/eval-mode.yaml description: Successfully set the evaluation action in the specified security policy. '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 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 Set Evaluation Mode tags: - 'Security policy: Evaluation mode' 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