Akamai IP/Geo Firewall settings API

Manage which network lists are used in the IP/Geo Firewall settings. If you want to add or remove IP addresses from the network lists, use the Network Lists API.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-attack-payload-logging-get-200-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-attack-payload-logging-put-200-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-attack-payload-logging-put-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-attack-payload-logging-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-behavioral-ddos-bypass-client-list-condition-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-behavioral-ddos-bypass-request-header-condition-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-behavioral-ddos-host-path-exception-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-behavioral-ddos-profile-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-behavioral-ddos-profiles-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-behavioral-ddos-sensitivity-override-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-behavioral-ddos-suspend-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-bypass-network-lists-get-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-bypass-network-lists-put-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-client-reputation-condition-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-config-clone-post-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-config-custom-rules-usage-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-config-custom-rules-usage-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-config-get-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-config-post-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-config-rename-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-configs-get-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-cookie-settings-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-custom-denies-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-custom-deny-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/appsec-custom-rule-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/fast-purge-post-cpcode-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/fast-purge-post-tag-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/fast-purge-post-url-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/fast-purge-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/siem-problem-nested-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/siem-problem-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/siem-siem-event-200-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/siem-siem-response-context-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/siem-streamed-response-200-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/site-shield-http-problem-details-nested-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/site-shield-http-problem-details-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/site-shield-site-shield-map-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/json-schema/site-shield-site-shield-maps-schema.json

OpenAPI Specification

akamai-ip-geo-firewall-settings-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: 'Akamai: API Endpoint Definition Access tokens IP/Geo Firewall settings API'
  version: '2'
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  description: 'Manage which network lists are used in the IP/Geo Firewall

    settings.  If you want to add or remove IP addresses from the

    network lists, use the Network Lists API.'
servers:
- url: https://{hostname}/api-definitions/v2
tags:
- description: 'Manage which network lists are used in the IP/Geo Firewall

    settings.  If you want to add or remove IP addresses from the

    network lists, use the Network Lists API.'
  name: IP/Geo Firewall settings
paths:
  /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/ip-geo-firewall:
    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
    - description: A unique identifier for a security policy.
      in: path
      name: policyId
      required: true
      schema:
        example: boBF_19288
        type: string
      x-akamai:
        file-path: parameters/policy-id-path.yaml
    x-akamai:
      file-path: paths/policy-ip-geo-firewall.yaml
      path-info: /configs/{configId}/versions/{versionNumber}/security-policies/{policyId}/ip-geo-firewall
    get:
      description: __All products__ Lists which network lists are used in the IP/Geo Firewall settings. In Control Center this method is called `mode`. In this API the method is called `blocked`. The response shows blocked and allowed IPs depending on which network lists you include and which version of the mode you choose. If you want to add or remove IP addresses from the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api). Note that subnet controls are a legacy item in Control Center and are not available through this API.
      externalDocs:
        description: See documentation for this operation in Akamai's Application Security API
        url: https://techdocs.akamai.com/application-security/reference/get-policy-ip-geo-firewall
      operationId: get-policy-ip-geo-firewall
      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:
                asnControls:
                  allowedIPNetworkLists:
                    networkList:
                    - 9876_ASNTEST
                  blockedIPNetworkLists:
                    action: deny
                    networkList:
                    - 567321_TESTASNLIST
                block: blockSpecificIPGeo
                geoControls:
                  blockedIPNetworkLists:
                    action: deny_custom_382000
                    networkList:
                    - 72138_TEST1
                ipControls:
                  allowedIPNetworkLists:
                    networkList:
                    - 56921_TEST
                  blockedIPNetworkLists:
                    action: deny
                    networkList:
                    - 53712_TESTLIST123
                ukraineGeoControl:
                  action: deny_custom_382001
              schema:
                additionalProperties: false
                description: The GET Response JSON for IP/Geo Firewall.
                properties:
                  asnControls:
                    additionalProperties: false
                    description: The network lists you block or allow by AS number.
                    properties:
                      allowedIPNetworkLists:
                        additionalProperties: false
                        description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                        properties:
                          action:
                            description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                            pattern: ^(deny|deny_custom_\d+)$
                            type: string
                          networkList:
                            description: The specific network list you specify to block or allow, depending on the method you choose.
                            items:
                              type: string
                            type: array
                        type: object
                        x-akamai:
                          file-path: schemas/network-lists.yaml
                      blockedIPNetworkLists:
                        additionalProperties: false
                        description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                        properties:
                          action:
                            description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                            pattern: ^(deny|deny_custom_\d+)$
                            type: string
                          networkList:
                            description: The specific network list you specify to block or allow, depending on the method you choose.
                            items:
                              type: string
                            type: array
                        type: object
                        x-akamai:
                          file-path: schemas/network-lists.yaml
                    type: object
                  block:
                    description: "Prevents or allows requests by IP and geographic location. Value is one of:\n  - `blockSpecificIPGeo`. Blocks traffic based on the values in your allowed, blocked, and Ukraine control network lists.\n  - `blockAllTrafficExceptAllowedIPs`. Blocks all traffic except the values in your allowed network lists."
                    enum:
                    - blockSpecificIPGeo
                    - blockAllTrafficExceptAllowedIPs
                    type: string
                  blockAllAction:
                    description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                    pattern: ^(deny|deny_custom_\d+)$
                    type: string
                  geoControls:
                    additionalProperties: false
                    description: The network lists you block geographically.
                    properties:
                      blockedIPNetworkLists:
                        additionalProperties: false
                        description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                        properties:
                          action:
                            description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                            pattern: ^(deny|deny_custom_\d+)$
                            type: string
                          networkList:
                            description: The specific network list you specify to block or allow, depending on the method you choose.
                            items:
                              type: string
                            type: array
                        type: object
                        x-akamai:
                          file-path: schemas/network-lists.yaml
                    type: object
                  ipControls:
                    additionalProperties: false
                    description: The network lists you block or allow by IP.
                    properties:
                      allowedIPNetworkLists:
                        additionalProperties: false
                        description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                        properties:
                          action:
                            description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                            pattern: ^(deny|deny_custom_\d+)$
                            type: string
                          networkList:
                            description: The specific network list you specify to block or allow, depending on the method you choose.
                            items:
                              type: string
                            type: array
                        type: object
                        x-akamai:
                          file-path: schemas/network-lists.yaml
                      blockedIPNetworkLists:
                        additionalProperties: false
                        description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                        properties:
                          action:
                            description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                            pattern: ^(deny|deny_custom_\d+)$
                            type: string
                          networkList:
                            description: The specific network list you specify to block or allow, depending on the method you choose.
                            items:
                              type: string
                            type: array
                        type: object
                        x-akamai:
                          file-path: schemas/network-lists.yaml
                    type: object
                  ukraineGeoControl:
                    additionalProperties: false
                    description: The settings for requests to and from Ukraine.
                    properties:
                      action:
                        description: "The type of action to take for the Donetsk and Luhansk regions of Ukraine. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response.\n  - `alert`. Records the event trigger.\n  - `none`. Takes no action. \n\n  <blockquote><strong>Note:</strong> As the situation in Ukraine changes, we'll update the included regions.</blockquote>"
                        pattern: ^(deny|alert|none|deny_custom_\d+)$
                        type: string
                    type: object
                    x-akamai:
                      file-path: schemas/ukraine-geo-control.yaml
                required:
                - block
                type: object
                x-akamai:
                  file-path: schemas/ip-geo-firewall-get-200.yaml
          description: Successfully retrieved the IP/Geo firewall 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 IP/Geo Firewall settings
      tags:
      - IP/Geo Firewall settings
      x-akamai:
        labels:
        - All products
    put:
      description: __All products__ Update the method and which network lists to use for IP/Geo firewall blocking. In Control Center this method is called `mode`. In this API the method is called `blocked`. Use `blockSpecificIPGeo` to block any IPs, geographies, or network lists you choose with this setting. Use `blockAllTrafficExceptAllowedIPs` to allow specific IPs or geographies that you choose to let through while the rest remain blocked. IPs you want to allow are contained in the `allowedIPNetworkLists`. It's important to verify the IPs you block are the ones you intend to block as it's easy to block wanted traffic by accident. Note that subnet controls are a legacy item in Control Center and are not available through this API.
      externalDocs:
        description: See documentation for this operation in Akamai's Application Security API
        url: https://techdocs.akamai.com/application-security/reference/put-policy-ip-geo-firewall
      operationId: put-policy-ip-geo-firewall
      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:
              asnControls:
                allowedIPNetworkLists:
                  networkList:
                  - 9876_ASNTEST
                blockedIPNetworkLists:
                  action: deny
                  networkList:
                  - 567321_TESTASNLIST
              block: blockSpecificIPGeo
              geoControls:
                blockedIPNetworkLists:
                  action: deny_custom_382000
                  networkList:
                  - 72138_TEST1
              ipControls:
                allowedIPNetworkLists:
                  networkList:
                  - 56921_TEST
                blockedIPNetworkLists:
                  action: deny
                  networkList:
                  - 53712_TESTLIST123
              ukraineGeoControl:
                action: deny_custom_382001
            schema:
              additionalProperties: false
              description: Describes the mode of the IP/Geo Firewall and the allowed and blocked IP lists.
              properties:
                asnControls:
                  additionalProperties: false
                  description: The network lists you block or allow by AS number.
                  properties:
                    allowedIPNetworkLists:
                      additionalProperties: false
                      description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                      properties:
                        action:
                          description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                          pattern: ^(deny|deny_custom_\d+)$
                          type: string
                        networkList:
                          description: The specific network list you specify to block or allow, depending on the method you choose.
                          items:
                            type: string
                          type: array
                      type: object
                      x-akamai:
                        file-path: schemas/network-lists.yaml
                    blockedIPNetworkLists:
                      additionalProperties: false
                      description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                      properties:
                        action:
                          description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                          pattern: ^(deny|deny_custom_\d+)$
                          type: string
                        networkList:
                          description: The specific network list you specify to block or allow, depending on the method you choose.
                          items:
                            type: string
                          type: array
                      type: object
                      x-akamai:
                        file-path: schemas/network-lists.yaml
                  type: object
                block:
                  description: "Prevents or allows requests by IP and geographic location. Value is one of:\n  - `blockSpecificIPGeo`. Blocks traffic based on the values in your allowed, blocked, and Ukraine control network lists.\n  - `blockAllTrafficExceptAllowedIPs`. Blocks all traffic except the values in your allowed network lists."
                  enum:
                  - blockSpecificIPGeo
                  - blockAllTrafficExceptAllowedIPs
                  type: string
                blockAllAction:
                  description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                  pattern: ^(deny|deny_custom_\d+)$
                  type: string
                geoControls:
                  additionalProperties: false
                  description: The network lists you block geographically.
                  properties:
                    blockedIPNetworkLists:
                      additionalProperties: false
                      description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                      properties:
                        action:
                          description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                          pattern: ^(deny|deny_custom_\d+)$
                          type: string
                        networkList:
                          description: The specific network list you specify to block or allow, depending on the method you choose.
                          items:
                            type: string
                          type: array
                      type: object
                      x-akamai:
                        file-path: schemas/network-lists.yaml
                  type: object
                ipControls:
                  additionalProperties: false
                  description: The network lists you block or allow by IP.
                  properties:
                    allowedIPNetworkLists:
                      additionalProperties: false
                      description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                      properties:
                        action:
                          description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                          pattern: ^(deny|deny_custom_\d+)$
                          type: string
                        networkList:
                          description: The specific network list you specify to block or allow, depending on the method you choose.
                          items:
                            type: string
                          type: array
                      type: object
                      x-akamai:
                        file-path: schemas/network-lists.yaml
                    blockedIPNetworkLists:
                      additionalProperties: false
                      description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                      properties:
                        action:
                          description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                          pattern: ^(deny|deny_custom_\d+)$
                          type: string
                        networkList:
                          description: The specific network list you specify to block or allow, depending on the method you choose.
                          items:
                            type: string
                          type: array
                      type: object
                      x-akamai:
                        file-path: schemas/network-lists.yaml
                  type: object
                ukraineGeoControl:
                  additionalProperties: false
                  description: The settings for requests to and from Ukraine.
                  properties:
                    action:
                      description: "The type of action to take for the Donetsk and Luhansk regions of Ukraine. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response.\n  - `alert`. Records the event trigger.\n  - `none`. Takes no action. \n\n  <blockquote><strong>Note:</strong> As the situation in Ukraine changes, we'll update the included regions.</blockquote>"
                      pattern: ^(deny|alert|none|deny_custom_\d+)$
                      type: string
                  type: object
                  x-akamai:
                    file-path: schemas/ukraine-geo-control.yaml
              required:
              - block
              type: object
              x-akamai:
                file-path: schemas/ip-geo-firewall-put.yaml
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                asnControls:
                  allowedIPNetworkLists:
                    networkList:
                    - 9876_ASNTEST
                  blockedIPNetworkLists:
                    action: deny
                    networkList:
                    - 567321_TESTASNLIST
                block: blockSpecificIPGeo
                geoControls:
                  blockedIPNetworkLists:
                    action: deny_custom_382000
                    networkList:
                    - 72138_TEST1
                ipControls:
                  allowedIPNetworkLists:
                    networkList:
                    - 56921_TEST
                  blockedIPNetworkLists:
                    action: deny
                    networkList:
                    - 53712_TESTLIST123
                ukraineGeoControl:
                  action: deny_custom_382001
              schema:
                additionalProperties: false
                description: The PUT Response JSON for IP/Geo Firewall.
                properties:
                  asnControls:
                    additionalProperties: false
                    description: The network lists you block or allow by AS number. ASN network lists are a distinct network list type.
                    properties:
                      allowedIPNetworkLists:
                        additionalProperties: false
                        description: The list of networks. To edit the network lists, use the [Network Lists API](https://techdocs.akamai.com/network-lists/reference/api).
                        properties:
                          action:
                            description: "The type of deny action to take. Value is one of:\n  - `deny`. Default. Blocked traffic gets a `403` response.\n  - `deny_custom_{custom_deny_id}`. Blocked traffic gets a customized deny response."
                            pattern: ^(deny|deny_custom_\d+)$
                            type: string
                          networkList:
                            description: The specific network list you specify to block or allow, depending on the method you choose.
                            items:
                              type: string
                            type: array
                        type: object
                        x-akamai:
                          file-path: schemas/network-lists.yaml
                      blockedIPNetworkLists:
                        additionalProperties: false
                        description: The li

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/akamai/refs/heads/main/openapi/akamai-ip-geo-firewall-settings-api-openapi.yml