openapi: 3.0.0 info: title: 'Akamai: API Endpoint Definition Access tokens Prefetch requests API' version: '2' license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html description: 'Manage your prefetch request protections. When enabled, your application firewall rules inspect internal requests, which are those between your origin and Akamai''s servers, for the file types you specify.' servers: - url: https://{hostname}/api-definitions/v2 tags: - description: 'Manage your prefetch request protections. When enabled, your application firewall rules inspect internal requests, which are those between your origin and Akamai''s servers, for the file types you specify.' name: Prefetch requests paths: /configs/{configId}/versions/{versionNumber}/advanced-settings/prefetch: parameters: - 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 - description: A unique identifier for each version of a configuration. in: path name: versionNumber required: true schema: example: 25 type: integer x-akamai: file-path: parameters/version-number-path.yaml x-akamai: file-path: paths/config-prefetch.yaml path-info: /configs/{configId}/versions/{versionNumber}/advanced-settings/prefetch get: description: __Kona Site Defender__ Get Prefetch Request settings. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/get-advanced-settings-prefetch operationId: get-advanced-settings-prefetch 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: allExtensions: false enableAppLayer: true enableRateControls: false extensions: - cgi - jsp - EMPTY_STRING - aspx - py - php - asp schema: additionalProperties: false description: The GET Response JSON for Prefetch Requests. properties: allExtensions: description: Whether to enable prefetch requests for all extensions. type: boolean enableAppLayer: description: Whether to enable Prefetch Requests. type: boolean enableRateControls: description: Whether to enable Prefetch Requests for rate controls. type: boolean extensions: description: List of extensions. items: type: string type: array required: - allExtensions - enableAppLayer - enableRateControls type: object x-akamai: file-path: schemas/prefetch-request-get-200.yaml description: Successfully retrieved the Prefetch Request settings. '400': content: application/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: 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). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.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). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error 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: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Get prefetch requests tags: - Prefetch requests x-akamai: labels: - Kona Site Defender put: description: __Kona Site Defender__ Enabling this protection causes your application firewall rules to inspect internal requests (those between your origin and Akamai's servers) for file types you specify. You can also apply rate controls to prefetch requests. This operation applies at the configuration level. externalDocs: description: See documentation for this operation in Akamai's Application Security API url: https://techdocs.akamai.com/application-security/reference/put-advanced-settings-prefetch operationId: put-advanced-settings-prefetch 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: allExtensions: false enableAppLayer: true enableRateControls: false extensions: - cgi - jsp - EMPTY_STRING - aspx - py - php - asp schema: additionalProperties: false description: The PUT Request JSON for Prefetch Requests. properties: allExtensions: description: Whether to enable prefetch requests for all extensions. type: boolean enableAppLayer: description: Whether to enable Prefetch Requests. type: boolean enableRateControls: description: Whether to enable Prefetch Requests for rate controls. type: boolean extensions: description: List of extensions. items: type: string type: array type: object x-akamai: file-path: schemas/prefetch-request-put.yaml required: true responses: '200': content: application/json: example: allExtensions: false enableAppLayer: true enableRateControls: false extensions: - cgi - jsp - EMPTY_STRING - aspx - py - php - asp schema: additionalProperties: false description: The PUT Response JSON for Prefetch Requests. properties: allExtensions: description: Whether to enable prefetch requests for all extensions. type: boolean enableAppLayer: description: Whether to enable Prefetch Requests. type: boolean enableRateControls: description: Whether to enable Prefetch Requests for rate controls. type: boolean extensions: description: List of extensions. items: type: string type: array required: - allExtensions - enableAppLayer - enableRateControls type: object x-akamai: file-path: schemas/prefetch-request-put-200.yaml description: Successfully updated the prefetch request settings:. '400': content: application/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: 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). Client error, such as invalid or malformed input.' x-akamai: file-path: errors/400-client-read-errors.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: 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 permission to write to this resource.' x-akamai: file-path: errors/403-client-write-errors.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). The security policy doesn''t exist, doesn''t carry application layer controls, or no rule with this ID is available for use in this policy.' x-akamai: file-path: errors/404-client-read-errors.yaml '500': content: application/problem+json: example: detail: Internal Server Error instance: 12ab3c45-789d-01ef-2gh3-ijk4l56m78no status: 500 title: Internal Server Error type: internal_server_error 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: '[Internal server error](https://techdocs.akamai.com/application-security/reference/500). Something went wrong on our side. Try again in a few minutes or contact support if the error persists.' x-akamai: file-path: errors/500-server-errors.yaml summary: Modify prefetch requests tags: - Prefetch requests x-akamai: labels: - Kona Site Defender 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