openapi: 3.0.0 info: title: 'Akamai: API Endpoint Definition Access tokens Subscriptions API' version: '2' license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html description: 'Manage the email subscriptions for features within a specific security configuration.' servers: - url: https://{hostname}/api-definitions/v2 tags: - description: 'Manage the email subscriptions for features within a specific security configuration.' name: Subscriptions paths: /configs/{configId}/notification/subscription/{feature}: parameters: - description: A unique identifier for each subscription feature. in: path name: feature required: true schema: example: AAG_TUNING_REC type: string x-akamai: file-path: parameters/feature-path.yaml - description: A unique identifier for each configuration. 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/config-notification-subscription.yaml path-info: /configs/{configId}/notification/subscription/{feature} post: description: __Kona Site Defender__ Set the request object's `action` to `subscribe` to add user emails to the subscription object. Use `unsubscribe` to remove them from the list. The lists are organized by `features`. Currently available `feature` values are `AAG_TUNING_REC` for AAG and ASE rule sets, and `WAF_RULE_UPDATE` for ASE rule sets. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/post-subscription-feature operationId: post-subscription-feature 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). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string requestBody: content: application/json: example: action: subscribe emails: - subscriber1@email.example.com - subscriber2@email.example.com - subscriber3@email.example.com schema: additionalProperties: false description: Specifies actions to subscribe a user to or remove a user from a subscription to tuning recommendation emails. properties: action: description: Use `subscribe` to add user emails to the subscription. Use `unsubscribe` to remove them from the subscription. enum: - subscribe - unsubscribe type: string emails: description: The user emails to add to or remove from subscription. items: type: string minItems: 1 type: array uniqueItems: true required: - action - emails type: object x-akamai: file-path: schemas/appsec-config-subscription.yaml required: true responses: '204': content: {} description: Subscribed/Unsubscribed successfully. '400': content: application/problem+json: examples: email-validation-errors: summary: Email validation errors value: $ref: ../examples/400-subscription-email-validation-errors.json invalid-action: summary: Invalid action value: $ref: ../examples/400-subscription-invalid-action.json schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: 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: '[Invalid](https://techdocs.akamai.com/application-security/reference/400). Incorrect client input. See the `fieldErrors` and other fields provided in the response for more information.' x-akamai: file-path: errors/400-subscription.yaml '403': content: application/problem+json: examples: no-config: summary: No access to the configuration value: $ref: ../examples/403-subscription-no-config-access.json no-feature-scope: summary: No feature scope value: $ref: ../examples/403-subscription-no-feature-scope.json schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: 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). Access denied. Make sure you have correct permissions.' x-akamai: file-path: errors/403-scope.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: 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: Subscribe or unsubscribe to recommendation emails tags: - Subscriptions x-akamai: labels: - Kona Site Defender get: description: __Kona Site Defender__ List all subscribers to a security configuration's `feature`. The response array is empty if there are no subscribers. Currently available `feature` values are `AAG_TUNING_REC` for AAG and ASE rule sets, and `WAF_RULE_UPDATE` for ASE rule sets. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-subscription-feature operationId: get-subscription-feature 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). in: query name: accountSwitchKey required: false schema: example: 1-5C0YLB:1-8BYUX type: string responses: '200': content: application/json: example: emails: - subscriber1@email.example.com - subscriber2@email.example.com - subscriber3@email.example.com schema: additionalProperties: false description: List the existing subscribers of a feature for a specific security configuration. properties: emails: description: Existing subscriber. items: type: string type: array required: - emails type: object x-akamai: file-path: schemas/appsec-config-subscription-200.yaml description: Successfully returns list of subscribers. '403': content: application/problem+json: examples: no-config: summary: No access to the configuration value: $ref: ../examples/403-subscription-no-config-access.json no-feature-scope: summary: No feature scope value: $ref: ../examples/403-subscription-no-feature-scope.json schema: additionalProperties: true description: Details the errors you can receive. properties: detail: description: The detailed error message. type: string fieldErrors: 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). Access denied. Make sure you have correct permissions.' x-akamai: file-path: errors/403-scope.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: 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: List subscribers tags: - Subscriptions x-akamai: labels: - Kona Site Defender /notifications/subscribe: post: description: Specifies a set of email addresses to inform Control Center account recipients about changes to a set of network lists. operationId: post-notifications-subscribe summary: Akamai Subscribe to Network Lists tags: - Subscriptions externalDocs: description: See documentation for this operation in Akamai's Network Lists API url: https://techdocs.akamai.com/network-lists/reference/post-notifications-subscribe requestBody: required: true content: application/json: example: recipients: - it-team@mycompany.com - security-team@mycompany.com uniqueIds: - 32055_REPUTATIONWHITELISTDONO - 365_AKAMAITOREXITNODES schema: additionalProperties: false description: Controls who is notified about changes to a set of network lists. type: object required: - recipients - uniqueIds properties: recipients: description: Specifies the full set of email addresses, at least one, that receive notifications about any changes to the network lists specified in `uniqueIds`. minItems: 1 type: array uniqueItems: true items: type: string uniqueIds: description: Specifies the full set of network list identifiers, at least one, the `recipients` are notified about. minItems: 1 type: array uniqueItems: true items: type: string x-akamai: file-path: schemas/subscribe.yaml responses: '204': description: Subscribed successfully. It also returns a 204 if request specifies users not in Control Center. content: '*/*': {} '400': description: Incorrect client input. See the field errors provided in the response for more information. This error may also be returned in place of a 404 if a URL parameter was provided in an incorrect format. content: application/problem+json: schema: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string errors: type: array items: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error-nested.yaml fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error.yaml '404': description: Incorrect URL. Check that the network list ID and other URL parameters are valid. content: application/problem+json: schema: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string errors: type: array items: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error-nested.yaml fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error.yaml '500': description: We encountered an unexpected issue while processing your request. Please follow the advice provided in the message. content: application/problem+json: schema: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string errors: type: array items: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error-nested.yaml fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error.yaml 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 /notifications/unsubscribe: post: description: Unsubscribes the listed users from a set of network lists. operationId: post-notifications-unsubscribe summary: Akamai Unsubscribe to Network Lists tags: - Subscriptions externalDocs: description: See documentation for this operation in Akamai's Network Lists API url: https://techdocs.akamai.com/network-lists/reference/post-notifications-unsubscribe requestBody: required: true content: application/json: example: recipients: - it-team@mycompany.com - security-team@mycompany.com uniqueIds: - 32055_REPUTATIONWHITELISTDONO - 365_AKAMAITOREXITNODES schema: additionalProperties: false description: Controls who is notified about changes to a set of network lists. type: object required: - recipients - uniqueIds properties: recipients: description: Specifies the full set of email addresses, at least one, that receive notifications about any changes to the network lists specified in `uniqueIds`. minItems: 1 type: array uniqueItems: true items: type: string uniqueIds: description: Specifies the full set of network list identifiers, at least one, the `recipients` are notified about. minItems: 1 type: array uniqueItems: true items: type: string x-akamai: file-path: schemas/subscribe.yaml responses: '204': description: Unsubscribed successfully. content: '*/*': {} '400': description: Incorrect client input. See the field errors provided in the response for more information. This error may also be returned in place of a 404 if a URL parameter was provided in an incorrect format. content: application/problem+json: schema: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string errors: type: array items: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error-nested.yaml fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error.yaml '404': description: Incorrect URL. Check that the network list ID and other URL parameters are valid. content: application/problem+json: schema: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string errors: type: array items: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error-nested.yaml fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error.yaml '500': description: We encountered an unexpected issue while processing your request. Please follow the advice provided in the message. content: application/problem+json: schema: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string errors: type: array items: additionalProperties: false type: object required: - type - status - title properties: detail: description: Detailed error message provided by the server. type: string fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error-nested.yaml fieldErrors: 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 additionalProperties: type: string instance: description: Referenceable URL for this error occurrence. example: https://problems.luna.akamaiapis.net/api-definitions/error-instances/d54686b5-21cb-4ab7-a8d6-a92282cf1749 type: string status: description: HTTP status code. example: 404 type: integer title: description: Title for the error. example: Not Found type: string type: description: URL for the error type. example: https://problems.luna.akamaiapis.net/api-definitions/error-types/NOT-FOUND type: string x-akamai: file-path: schemas/error.yaml 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 externalDocs: description: See documentation for Akamai's API Endpoint Definition API url: https://techdocs.akamai.com/api-definitions/reference x-readme: samples-languages: - curl - python - node