Akamai API Security General configuration settings API

Manage security configurations and their versions.

OpenAPI Specification

akamai-api-security-general-configuration-settings-api-openapi.yml Raw ↑
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 General configuration settings API'
  version: v1
servers:
- url: https://{hostname}/appsec/v1
tags:
- description: Manage security configurations and their versions.
  name: General configuration settings
paths:
  /configs:
    x-akamai:
      file-path: paths/configs.yaml
      path-info: /configs
    post:
      description: Create a new WAP or KSD security configuration. KSD security configurations start out empty, and WAP configurations are created with preset values. The contract you pass in the request body determines which product you use.  You can edit the default settings included in the WAP configuration, but you'll need to run additional operations in this API to select specific protections for KSD. Your KSD configuration needs match targets and protection settings before you activate. _Products:_ All.
      externalDocs:
        description: See documentation for this operation in Akamai's Application Security API
        url: https://techdocs.akamai.com/application-security/reference/post-config
      operationId: post-config
      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:
              contractId: C-0N7RAC7
              description: description1
              groupId: 32145
              hostnames:
              - new.example.com
              - www.example.com
              name: newapitest
            schema:
              additionalProperties: false
              description: Specifies the details of a security config.
              properties:
                contractId:
                  description: Contract ID.
                  example: '{{contractId}}'
                  type: string
                createFrom:
                  additionalProperties: false
                  description: Contains details about a source configuration and version for cloning a new security configuration.
                  properties:
                    configId:
                      description: Uniquely identifies the security configuration.
                      type: integer
                    version:
                      description: The configuration version to clone from.
                      type: integer
                  required:
                  - configId
                  - version
                  type: object
                description:
                  description: Describes the security configuration.
                  example: '{{description}}'
                  type: string
                groupId:
                  description: Group ID.
                  example: '{{groupId}}'
                  type: integer
                hostnames:
                  description: List of hostnames to be added to the configuration.
                  items:
                    type: string
                  type: array
                name:
                  description: The name you assigned to the security configuration.
                  example: '{{name}}'
                  type: string
              required:
              - name
              - description
              - hostnames
              type: object
              x-akamai:
                file-path: schemas/config-post.yaml
        required: true
      responses:
        '201':
          content:
            application/json:
              example:
                configId: 71710
                description: description1
                name: newapitest
                version: 1
              schema:
                additionalProperties: false
                description: Specifies the details of a security config.
                properties:
                  contractId:
                    description: Contract ID.
                    type: string
                  createFrom:
                    additionalProperties: false
                    description: Contains details about a source configuration and version for cloning a new security configuration.
                    properties:
                      configId:
                        description: Uniquely identifies the security configuration.
                        type: integer
                      version:
                        description: The configuration version to clone from.
                        type: integer
                    required:
                    - configId
                    - version
                    type: object
                  description:
                    description: Describes the security configuration.
                    type: string
                  groupId:
                    description: Group ID.
                    type: integer
                  hostnames:
                    description: List of hostnames to be added to the configuration.
                    items:
                      type: string
                    type: array
                  name:
                    description: The name you assigned to the security configuration.
                    type: string
                required:
                - name
                - description
                - hostnames
                type: object
                x-akamai:
                  file-path: schemas/config-post.yaml
          description: Successfully created a security configuration.
        '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 create access for security configurations.'
          x-akamai:
            file-path: errors/403.yaml
      summary: Akamai API Security Create a Configuration
      tags:
      - General configuration settings
    get:
      description: Lists available security configurations. _Products:_ All.
      externalDocs:
        description: See documentation for this operation in Akamai's Application Security API
        url: https://techdocs.akamai.com/application-security/reference/get-configs
      operationId: get-configs
      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:
                configurations:
                - description: (user notes)
                  id: 22330
                  latestVersion: 5
                  name: CaroTestTransition2Versioning
                - id: 7180
                  latestVersion: 9
                  name: Corporate Sites WAF
                  productionHostnames:
                  - example.com
                  - www.example.net
                  - m.example.com
                  productionVersion: 1
                  stagingVersion: 2
              schema:
                additionalProperties: false
                description: Specifies the details of a security config.
                properties:
                  configurations:
                    description: A list of security configurations.
                    items:
                      additionalProperties: false
                      description: Contains details about a security configuration.
                      properties:
                        description:
                          description: __Read-only__ Describes the security configuration.
                          readOnly: true
                          type: string
                        id:
                          description: __Read-only__ Uniquely identifies the security configuration.
                          readOnly: true
                          type: integer
                        latestVersion:
                          description: __Read-only__ The latest version of the security configuration.
                          readOnly: true
                          type: integer
                        name:
                          description: __Read-only__ The security configuration name.
                          readOnly: true
                          type: string
                        productionHostnames:
                          description: __Read-only__ The list of hostnames protected by this security configuration in the production network.
                          items:
                            type: string
                          readOnly: true
                          type: array
                        productionVersion:
                          description: __Read-only__ The latest security configuration version active in the production network.
                          readOnly: true
                          type: integer
                        stagingVersion:
                          description: __Read-only__ The latest security configuration version active in the staging network.
                          readOnly: true
                          type: integer
                      required:
                      - id
                      - latestVersion
                      - name
                      type: object
                      x-akamai:
                        file-path: schemas/config-get.yaml
                    type: array
                required:
                - configurations
                type: object
                x-akamai:
                  file-path: schemas/configs-get.yaml
          description: Successful response.
        '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 resource.'
          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). That resource doesn''t exist, or the URL is malformed.'
          x-akamai:
            file-path: errors/404.yaml
      summary: Akamai API Security List Configurations
      tags:
      - General configuration settings
  /configs/{configId}:
    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
    x-akamai:
      file-path: paths/config.yaml
      path-info: /configs/{configId}
    get:
      description: Retrieves the configuration details.
      externalDocs:
        description: See documentation for this operation in Akamai's Application Security API
        url: https://techdocs.akamai.com/application-security/reference/get-config
      operationId: get-config
      parameters:
      - description: If `true`, include the list of hostnames protected by this security configuration in the production network.  If `false`, exclude the list of hostnames protected by this security configuration in the production network.
        example: '{{includeHostnames}}'
        in: query
        name: includeHostnames
        required: false
        schema:
          default: false
          example: false
          type: boolean
        x-akamai:
          file-path: parameters/include-hostnames-query.yaml
      - 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:
                id: 7180
                latestVersion: 9
                name: Corporate Sites WAF
                productionHostnames:
                - example.com
                - www.example.net
                - m.example.com
                productionVersion: 1
                stagingVersion: 2
              schema:
                additionalProperties: false
                description: Contains details about a security configuration.
                properties:
                  description:
                    description: __Read-only__ Describes the security configuration.
                    readOnly: true
                    type: string
                  id:
                    description: __Read-only__ Uniquely identifies the security configuration.
                    readOnly: true
                    type: integer
                  latestVersion:
                    description: __Read-only__ The latest version of the security configuration.
                    readOnly: true
                    type: integer
                  name:
                    description: __Read-only__ The security configuration name.
                    readOnly: true
                    type: string
                  productionHostnames:
                    description: __Read-only__ The list of hostnames protected by this security configuration in the production network.
                    items:
                      type: string
                    readOnly: true
                    type: array
                  productionVersion:
                    description: __Read-only__ The latest security configuration version active in the production network.
                    readOnly: true
                    type: integer
                  stagingVersion:
                    description: __Read-only__ The latest security configuration version active in the staging network.
                    readOnly: true
                    type: integer
                required:
                - id
                - latestVersion
                - name
                type: object
                x-akamai:
                  file-path: schemas/config-get.yaml
          description: Successful response.
        '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 resource.'
          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 wasn''t found.'
          x-akamai:
            file-path: errors/404.yaml
      summary: Akamai API Security Get a Security Configuration
      tags:
      - General configuration settings
    put:
      description: Update the name of your security configuration. _Products:_ All.
      externalDocs:
        description: See documentation for this operation in Akamai's Application Security API
        url: https://techdocs.akamai.com/application-security/reference/put-config
      operationId: put-config
      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:
              description: description1
              name: newapitest
            schema:
              additionalProperties: false
              description: Contains details of a security configuration.
              properties:
                description:
                  description: Describes the security configuration.
                  example: '{{description}}'
                  type: string
                name:
                  description: The name you assigned to the security configuration.
                  example: '{{name}}'
                  type: string
              required:
              - name
              type: object
              x-akamai:
                file-path: schemas/config-rename.yaml
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                description: description1
                name: newapitest
              schema:
                additionalProperties: false
                description: Contains details of a security configuration.
                properties:
                  description:
                    description: Describes the security configuration.
                    type: string
                  name:
                    description: The name you assigned to the security configuration.
                    type: string
                required:
                - name
                type: object
                x-akamai:
                  file-path: schemas/config-rename.yaml
          description: Successfully renamed the security configuration.
        '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.
                    

# --- truncated at 32 KB (118 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/akamai-api-security/refs/heads/main/openapi/akamai-api-security-general-configuration-settings-api-openapi.yml