Akamai API Security Shared resources: Malware policies API
Manage your malware policies.
Manage your malware policies.
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 Shared resources: Malware policies API'
version: v1
servers:
- url: https://{hostname}/appsec/v1
tags:
- description: Manage your malware policies.
name: 'Shared resources: Malware policies'
paths:
/configs/{configId}/versions/{versionNumber}/malware-policies:
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
- 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
x-akamai:
file-path: paths/config-malware-policies.yaml
path-info: /configs/{configId}/versions/{versionNumber}/malware-policies
post:
description: Create a new malware policy for a security configuration version.
externalDocs:
description: See documentation for this operation in Akamai's Application Security API
url: https://techdocs.akamai.com/application-security/reference/post-malware-policies
operationId: post-malware-policies
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:
allowListId: 523719_ALLOWLIST
blockListId: 524002_BLOCKLIST
contentTypes:
- encodedContentAttributes:
- encoding:
- base64
path: image.imagePath
name: application/json
description: Malware scan configuration details
hostnames:
- abc.com
- def.com
- xyz.com
logFilename: true
name: FMS Configuration22
paths:
- /base-path
- /b
schema:
additionalProperties: false
description: Contains details about a malware policy.
properties:
allowListId:
description: The ID of a client list containing file hashes of specific files to allow.
example: '{{allowListId}}'
type: string
blockListId:
description: The ID of a client list containing file hashes of specific files to block.
example: '{{blockListId}}'
type: string
contentTypes:
description: The content types and encodings to match.
items:
additionalProperties: false
properties:
encodedContentAttributes:
description: An optional list of encoded attribute paths.
items:
additionalProperties: false
properties:
encoding:
description: The encodings used for the attribute path. Currently only `base64` is supported.
items:
enum:
- base64
type: string
type: array
path:
description: The JSONPath to an attribute with encoded content. The path must point to a single item, and may not include the `$`, `..`, `?` or `*` operators.
type: string
type: object
type: array
name:
description: The name of the content type.
type: string
required:
- name
type: object
type: array
description:
description: Descriptive text you provide about a policy.
example: '{{description}}'
type: string
hostnames:
description: The hostnames to match. This is where you want the malware detections to focus.
items:
type: string
type: array
id:
description: __Read-only__ Uniquely identifies each malware policy.
example: '{{id}}'
readOnly: true
type: integer
logFilename:
default: false
description: Whether to log the name of the file that triggered an `alert` or `deny` action.
example: '{{logFilename}}'
type: boolean
name:
description: The name you assign to a malware policy.
example: '{{name}}'
type: string
paths:
description: The paths to match. You can use the `?` and `*` wildcards anywhere in a path.
items:
type: string
type: array
required:
- name
- hostnames
- paths
type: object
x-akamai:
file-path: schemas/malware-policy.yaml
required: true
responses:
'201':
content:
application/json:
example:
allowListId: 523719_ALLOWLIST
blockListId: 524002_BLOCKLIST
contentTypes:
- encodedContentAttributes:
- encoding:
- base64
path: image.imagePath
name: application/json
description: Malware scan configuration details
hostnames:
- abc.com
- def.com
- xyz.com
id: 82
logFilename: true
name: FMS Configuration
paths:
- /base-path
- /b
schema:
additionalProperties: false
description: Contains details about a malware policy.
properties:
allowListId:
description: The ID of a client list containing file hashes of specific files to allow.
type: string
blockListId:
description: The ID of a client list containing file hashes of specific files to block.
type: string
contentTypes:
description: The content types and encodings to match.
items:
additionalProperties: false
properties:
encodedContentAttributes:
description: An optional list of encoded attribute paths.
items:
additionalProperties: false
properties:
encoding:
description: The encodings used for the attribute path. Currently only `base64` is supported.
items:
enum:
- base64
type: string
type: array
path:
description: The JSONPath to an attribute with encoded content. The path must point to a single item, and may not include the `$`, `..`, `?` or `*` operators.
type: string
type: object
type: array
name:
description: The name of the content type.
type: string
required:
- name
type: object
type: array
description:
description: Descriptive text you provide about a policy.
type: string
hostnames:
description: The hostnames to match. This is where you want the malware detections to focus.
items:
type: string
type: array
id:
description: __Read-only__ Uniquely identifies each malware policy.
readOnly: true
type: integer
logFilename:
default: false
description: Whether to log the name of the file that triggered an `alert` or `deny` action.
type: boolean
name:
description: The name you assign to a malware policy.
type: string
paths:
description: The paths to match. You can use the `?` and `*` wildcards anywhere in a path.
items:
type: string
type: array
required:
- name
- hostnames
- paths
type: object
x-akamai:
file-path: schemas/malware-policy.yaml
description: Successfully created a malware policy.
headers:
Location:
description: A URL to access the newly created resource.
example: /malware-policies/post-malware-policies
schema:
type: string
x-akamai:
file-path: headers/location.yaml
'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 malware policies in 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 Create a Malware Policy
tags:
- 'Shared resources: Malware policies'
get:
description: Return malware policies for a security configuration version. _Products:_ All.
externalDocs:
description: See documentation for this operation in Akamai's Application Security API
url: https://techdocs.akamai.com/application-security/reference/get-malware-policies
operationId: get-malware-policies
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
responses:
'200':
content:
application/json:
example:
malwarePolicies:
- allowListId: 523719_ALLOWLIST
blockListId: 524002_BLOCKLIST
description: Malware scan configuration details
hostnames:
- abc.com
- def.com
- xyz.com
id: 82
logFilename: true
name: FMS Configuration
paths:
- /base-path
- /b
- description: Malware scan configuration details
hostnames:
- abc.com
- def.com
- xyz.com
id: 83
name: FMS Configuration2
paths:
- /base-path
- /test
schema:
additionalProperties: false
description: Contains details about malware policies.
properties:
malwarePolicies:
description: A list of malware policies in this configuration version.
items:
additionalProperties: false
description: Contains details about a malware policy.
properties:
allowListId:
description: The ID of a client list containing file hashes of specific files to allow.
type: string
blockListId:
description: The ID of a client list containing file hashes of specific files to block.
type: string
contentTypes:
description: The content types and encodings to match.
items:
additionalProperties: false
properties:
encodedContentAttributes:
description: An optional list of encoded attribute paths.
items:
additionalProperties: false
properties:
encoding:
description: The encodings used for the attribute path. Currently only `base64` is supported.
items:
enum:
- base64
type: string
type: array
path:
description: The JSONPath to an attribute with encoded content. The path must point to a single item, and may not include the `$`, `..`, `?` or `*` operators.
type: string
type: object
type: array
name:
description: The name of the content type.
type: string
required:
- name
type: object
type: array
description:
description: Descriptive text you provide about a policy.
type: string
hostnames:
description: The hostnames to match. This is where you want the malware detections to focus.
items:
type: string
type: array
id:
description: __Read-only__ Uniquely identifies each malware policy.
readOnly: true
type: integer
logFilename:
default: false
description: Whether to log the name of the file that triggered an `alert` or `deny` action.
type: boolean
name:
description: The name you assign to a malware policy.
type: string
paths:
description: The paths to match. You can use the `?` and `*` wildcards anywhere in a path.
items:
type: string
type: array
required:
- name
- hostnames
- paths
type: object
x-akamai:
file-path: schemas/malware-policy.yaml
type: array
required:
- malwarePolicies
type: object
x-akamai:
file-path: schemas/malware-policies.yaml
description: Successfully returned the malware policies.
'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 malware policy in 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). The security configuration version wasn''t found.'
x-akamai:
file-path: errors/404.yaml
summary: Akamai API Security List Malware Policies
tags:
- 'Shared resources: Malware policies'
/configs/{configId}/versions/{versionNumber}/malware-policies/content-types:
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
- 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
x-akamai:
file-path: paths/config-malware-policies-content-types.yaml
path-info: /configs/{configId}/versions/{versionNumber}/malware-policies/content-types
get:
description: Returns all the supported malware policy content types for a security configuration version. _Products:_ All.
externalDocs:
description: See documentation for this operation in Akamai's Application Security API
url: https://techdocs.akamai.com/application-security/reference/get-malware-policy-content-types
operationId: get-malware-policy-content-types
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
responses:
'200':
content:
application/json:
example:
malwareContentTypes:
- text/plain
- text/x-css
- image/gif
- image/png
schema:
additionalProperties: false
description: Contains a list of supported malware policy content types for the specified configuration version.
properties:
malwareContentTypes:
description: The list of supported content types in a malware policy.
items:
description: The malware content type.
type: string
type: array
required:
- malwareContentTypes
type: object
x-akamai:
file-path: schemas/malware-policies-content-types.yaml
description: Successfully returned the malware policies.
'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: ht
# --- truncated at 32 KB (69 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/akamai-api-security/refs/heads/main/openapi/akamai-api-security-shared-resources-malware-policies-api-openapi.yml