Akamai API Security Available hostnames API

List all hostnames for a given contract and group.

OpenAPI Specification

akamai-api-security-available-hostnames-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 Available hostnames API'
  version: v1
servers:
- url: https://{hostname}/appsec/v1
tags:
- description: List all hostnames for a given contract and group.
  name: Available hostnames
paths:
  /contracts/{contractId}/groups/{groupId}/selectable-hostnames:
    parameters:
    - description: A unique identifier for a group.
      example: '{{groupId}}'
      in: path
      name: groupId
      required: true
      schema:
        example: '54321'
        type: string
      x-akamai:
        file-path: parameters/group-id-path.yaml
    - description: A unique identifier for a contract.
      example: '{{contractId}}'
      in: path
      name: contractId
      required: true
      schema:
        example: K-0N7RAK7
        type: string
      x-akamai:
        file-path: parameters/contract-id-path.yaml
    x-akamai:
      file-path: paths/contracts-groups-selectable-hostnames.yaml
      path-info: /contracts/{contractId}/groups/{groupId}/selectable-hostnames
    get:
      description: Lists the hostnames for a given contract and group. Use this operation for a new configuration, and use [List selectable hostnames](https://techdocs.akamai.com/application-security/reference/get-selectable-hostnames) to see a list of hostnames you can add to an existing configuration. This operation shows you every acceptable hostname you can use, where the other hostname operation omits any hostnames already included in your configuration. _Products:_ All.
      externalDocs:
        description: See documentation for this operation in Akamai's Application Security API
        url: https://techdocs.akamai.com/application-security/reference/get-selectable-hostnames-per-config
      operationId: get-selectable-hostnames-per-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
      responses:
        '200':
          content:
            application/json:
              example:
                availableSet:
                - activeInProduction: true
                  activeInStaging: true
                  arlInclusion: true
                  configIdInProduction: 77653
                  configNameInProduction: WAF Security File
                  hostname: example.com
                - activeInProduction: false
                  activeInStaging: true
                  arlInclusion: true
                  configIdInProduction: 51074
                  configNameInProduction: A PUBLIC CONFIG
                  hostname: www.example.com
                - activeInProduction: true
                  activeInStaging: true
                  arlInclusion: true
                  configIdInProduction: 65473
                  configNameInProduction: Other Security Configuration
                  hostname: www.example-123.com
                configId: 123
                configVersion: 2
                errorSet:
                - hostname: '*.example.net'
                  reason: property is not active in either production or staging
                  reasonCode: 400
                - hostname: test-example.net
                  reason: You don't have access to this property
                  reasonCode: 403
                protectARLInclusionHost: true
                selectedSet:
                - activeInProduction: true
                  activeInStaging: true
                  arlInclusion: false
                  configIdInProduction: 11887
                  configNameInProduction: Rbac Test Config
                  hostname: m.example.com
                - activeInProduction: true
                  activeInStaging: true
                  arlInclusion: false
                  configIdInProduction: null
                  configNameInProduction: null
                  hostname: m.example-123.com
              schema:
                additionalProperties: false
                description: Contains the list of hostnames available for protection and its details.
                properties:
                  availableSet:
                    description: The available hosts set for the current user.
                    items:
                      additionalProperties: false
                      description: Contains details about the hostname and its status.
                      properties:
                        activeInProduction:
                          description: Whether the hostname is active in the production network.
                          type: boolean
                        activeInStaging:
                          description: Whether the hostname is active in the staging network.
                          type: boolean
                        arlInclusion:
                          description: Whether the hostname is Akamai Resource Locator (ARL) included.
                          type: boolean
                        configIdInProduction:
                          description: Uniquely identifies the configuration that protects the hostname.
                          nullable: true
                          type: integer
                        configNameInProduction:
                          description: The name of the configuration that protects the hostname.
                          nullable: true
                          type: string
                        hostname:
                          description: The hostname.
                          type: string
                      required:
                      - hostname
                      type: object
                      x-akamai:
                        file-path: schemas/hostname-object.yaml
                    type: array
                  configId:
                    description: Uniquely identifies the security configuration.
                    type: integer
                  configVersion:
                    description: The security configuration version.
                    type: integer
                  errorSet:
                    description: The requested hosts aren't available in this configuration version.
                    items:
                      additionalProperties: false
                      properties:
                        hostname:
                          description: The hostname that triggers an error.
                          type: string
                        reason:
                          description: The reason why the hosts aren't protectable in this configuration version.
                          type: string
                        reasonCode:
                          description: The error status code for the hostname.
                          type: integer
                      required:
                      - reason
                      - reasonCode
                      - hostname
                      type: object
                    type: array
                  protectARLInclusionHost:
                    description: Whether the host defined in the ARL file has legacy WAF enabled in the configuration.
                    type: boolean
                  selectedSet:
                    description: The selected set of hostnames in this configuration version.
                    items:
                      additionalProperties: false
                      description: Contains details about the hostname and its status.
                      properties:
                        activeInProduction:
                          description: Whether the hostname is active in the production network.
                          type: boolean
                        activeInStaging:
                          description: Whether the hostname is active in the staging network.
                          type: boolean
                        arlInclusion:
                          description: Whether the hostname is Akamai Resource Locator (ARL) included.
                          type: boolean
                        configIdInProduction:
                          description: Uniquely identifies the configuration that protects the hostname.
                          nullable: true
                          type: integer
                        configNameInProduction:
                          description: The name of the configuration that protects the hostname.
                          nullable: true
                          type: string
                        hostname:
                          description: The hostname.
                          type: string
                      required:
                      - hostname
                      type: object
                      x-akamai:
                        file-path: schemas/hostname-object.yaml
                    type: array
                required:
                - configId
                - configVersion
                - protectARLInclusionHost
                type: object
                x-akamai:
                  file-path: schemas/host-info-in-config.yaml
          description: Successful response.
        '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 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 Available Hostnames for a New Configuration
      tags:
      - Available hostnames
externalDocs:
  description: See documentation for Akamai's Application Security API
  url: https://techdocs.akamai.com/application-security/reference
x-readme:
  samples-languages:
  - curl
  - python
  - node