AWS WAF Waf Geo Match Set API

The Waf Geo Match Set API from AWS WAF — 5 operation(s) for waf geo match set.

Operations 5

POST /#CreateGeoMatchSet Create Geo Match Set #
POST /#DeleteGeoMatchSet Delete Geo Match Set #
POST /#GetGeoMatchSet Get Geo Match Set #
POST /#ListGeoMatchSets List Geo Match Sets #
POST /#UpdateGeoMatchSet Update Geo Match Set #

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aws-waf:aws-waf-geo-match-set-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aws-waf-geo-match-set-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AWS WAF Geo Match Set API
  version: '2015-08-24'
  description: Generated from AWS's published Smithy model for AWS WAF. 5 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://waf.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
tags:
- name: Geo Match Set
paths:
  /#CreateGeoMatchSet:
    post:
      operationId: CreateGeoMatchSet
      summary: Create Geo Match Set
      description: 'This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide. For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use. Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you''re receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests. To create and configure a GeoMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request. Submit a CreateGeoMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for. For more information about how to use the AWS WAF API to allow or block HTTP requests, s'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CreateGeoMatchSetResponse'
        '400':
          description: WAFDisallowedNameException; WAFInvalidAccountException; WAFInvalidParameterException; WAFLimitsExceededException; WAFStaleDataException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFDisallowedNameException'
        '500':
          description: WAFInternalErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInternalErrorException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSWAF_20150824.CreateGeoMatchSet
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/CreateGeoMatchSetRequest'
      tags:
      - Geo Match Set
  /#DeleteGeoMatchSet:
    post:
      operationId: DeleteGeoMatchSet
      summary: Delete Geo Match Set
      description: 'This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide. For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use. Permanently deletes a GeoMatchSet. You can''t delete a GeoMatchSet if it''s still used in any Rules or if it still includes any countries. If you just want to remove a GeoMatchSet from a Rule, use UpdateRule. To permanently delete a GeoMatchSet from AWS WAF, perform the following steps: Update the GeoMatchSet to remove any countries. For more information, see UpdateGeoMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteGeoMatchSet request. Submit a DeleteGeoMatchSet request.'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DeleteGeoMatchSetResponse'
        '500':
          description: WAFInternalErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInternalErrorException'
        '400':
          description: WAFInvalidAccountException; WAFNonEmptyEntityException; WAFNonexistentItemException; WAFReferencedItemException; WAFStaleDataException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInvalidAccountException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSWAF_20150824.DeleteGeoMatchSet
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DeleteGeoMatchSetRequest'
      tags:
      - Geo Match Set
  /#GetGeoMatchSet:
    post:
      operationId: GetGeoMatchSet
      summary: Get Geo Match Set
      description: This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide. For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use. Returns the GeoMatchSet that is specified by GeoMatchSetId.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/GetGeoMatchSetResponse'
        '500':
          description: WAFInternalErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInternalErrorException'
        '400':
          description: WAFInvalidAccountException; WAFNonexistentItemException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInvalidAccountException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSWAF_20150824.GetGeoMatchSet
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/GetGeoMatchSetRequest'
      tags:
      - Geo Match Set
  /#ListGeoMatchSets:
    post:
      operationId: ListGeoMatchSets
      summary: List Geo Match Sets
      description: This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide. For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use. Returns an array of GeoMatchSetSummary objects in the response.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ListGeoMatchSetsResponse'
        '500':
          description: WAFInternalErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInternalErrorException'
        '400':
          description: WAFInvalidAccountException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInvalidAccountException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSWAF_20150824.ListGeoMatchSets
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/ListGeoMatchSetsRequest'
      tags:
      - Geo Match Set
  /#UpdateGeoMatchSet:
    post:
      operationId: UpdateGeoMatchSet
      summary: Update Geo Match Set
      description: 'This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide. For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use. Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values: Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one. The Type. The only valid value for Type is Country. The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value. To create and configure an GeoMatchSet, perform the following steps: Submit a CreateGeoMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for. When you update an GeoMatchSet, you specify the country that you want to add and/or the count'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/UpdateGeoMatchSetResponse'
        '500':
          description: WAFInternalErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInternalErrorException'
        '400':
          description: WAFInvalidAccountException; WAFInvalidOperationException; WAFInvalidParameterException; WAFLimitsExceededException; WAFNonexistentContainerException; WAFNonexistentItemException; WAFReferencedItemException; WAFStaleDataException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInvalidAccountException'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AWSWAF_20150824.UpdateGeoMatchSet
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/UpdateGeoMatchSetRequest'
      tags:
      - Geo Match Set
components:
  schemas:
    GeoMatchSet:
      type: object
      properties:
        GeoMatchSetId:
          type: string
          description: The GeoMatchSetId for an GeoMatchSet. You use GeoMatchSetId to get information about a GeoMatchSet (see GeoMatchSet), update a GeoMatchSet (see UpdateGeoMatchSet), insert a GeoMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a GeoMatchSet from AWS WAF (see DeleteGeoMatchSet). GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.
        Name:
          type: string
          description: A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.
        GeoMatchConstraints:
          type: array
          items:
            $ref: '#/components/schemas/GeoMatchConstraint'
          description: An array of GeoMatchConstraint objects, which contain the country that you want AWS WAF to search for.
      required:
      - GeoMatchSetId
      - GeoMatchConstraints
    CreateGeoMatchSetResponse:
      type: object
      properties:
        GeoMatchSet:
          $ref: '#/components/schemas/GeoMatchSet'
        ChangeToken:
          type: string
          description: The ChangeToken that you used to submit the CreateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.
    GeoMatchSetSummary:
      type: object
      properties:
        GeoMatchSetId:
          type: string
          description: The GeoMatchSetId for an GeoMatchSet. You can use GeoMatchSetId in a GetGeoMatchSet request to get detailed information about an GeoMatchSet.
        Name:
          type: string
          description: A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.
      required:
      - GeoMatchSetId
      - Name
    GetGeoMatchSetRequest:
      type: object
      properties:
        GeoMatchSetId:
          type: string
          description: The GeoMatchSetId of the GeoMatchSet that you want to get. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.
      required:
      - GeoMatchSetId
    WAFInvalidAccountException:
      type: object
      properties: {}
    GeoMatchSetUpdate:
      type: object
      properties:
        Action:
          type: string
          enum:
          - INSERT
          - DELETE
          description: Specifies whether to insert or delete a country with UpdateGeoMatchSet.
        GeoMatchConstraint:
          $ref: '#/components/schemas/GeoMatchConstraint'
      required:
      - Action
      - GeoMatchConstraint
    ListGeoMatchSetsResponse:
      type: object
      properties:
        NextMarker:
          type: string
          description: If you have more GeoMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more GeoMatchSet objects, submit another ListGeoMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.
        GeoMatchSets:
          type: array
          items:
            $ref: '#/components/schemas/GeoMatchSetSummary'
          description: An array of GeoMatchSetSummary objects.
    WAFDisallowedNameException:
      type: object
      properties:
        message:
          type: string
    GeoMatchConstraint:
      type: object
      properties:
        Type:
          type: string
          enum:
          - Country
          description: The type of geographical area you want AWS WAF to search for. Currently Country is the only valid value.
        Value:
          type: string
          enum:
          - AF
          - AX
          - AL
          - DZ
          - AS
          - AD
          - AO
          - AI
          - AQ
          - AG
          - AR
          - AM
          - AW
          - AU
          - AT
          - AZ
          - BS
          - BH
          - BD
          - BB
          - BY
          - BE
          - BZ
          - BJ
          - BM
          - BT
          - BO
          - BQ
          - BA
          - BW
          - BV
          - BR
          - IO
          - BN
          - BG
          - BF
          - BI
          - KH
          - CM
          - CA
          - CV
          - KY
          - CF
          - TD
          - CL
          - CN
          - CX
          - CC
          - CO
          - KM
          - CG
          - CD
          - CK
          - CR
          - CI
          - HR
          - CU
          - CW
          - CY
          - CZ
          - DK
          - DJ
          - DM
          - DO
          - EC
          - EG
          - SV
          - GQ
          - ER
          - EE
          - ET
          - FK
          - FO
          - FJ
          - FI
          - FR
          - GF
          - PF
          - TF
          - GA
          - GM
          - GE
          - DE
          - GH
          - GI
          - GR
          - GL
          - GD
          - GP
          - GU
          - GT
          - GG
          - GN
          - GW
          - GY
          - HT
          - HM
          - VA
          - HN
          - HK
          - HU
          - IS
          - IN
          - ID
          - IR
          - IQ
          - IE
          - IM
          - IL
          - IT
          - JM
          - JP
          - JE
          - JO
          - KZ
          - KE
          - KI
          - KP
          - KR
          - KW
          - KG
          - LA
          - LV
          - LB
          - LS
          - LR
          - LY
          - LI
          - LT
          - LU
          - MO
          - MK
          - MG
          - MW
          - MY
          - MV
          - ML
          - MT
          - MH
          - MQ
          - MR
          - MU
          - YT
          - MX
          - FM
          - MD
          - MC
          - MN
          - ME
          - MS
          - MA
          - MZ
          - MM
          - NA
          - NR
          - NP
          - NL
          - NC
          - NZ
          - NI
          - NE
          - NG
          - NU
          - NF
          - MP
          - 'NO'
          - OM
          - PK
          - PW
          - PS
          - PA
          - PG
          - PY
          - PE
          - PH
          - PN
          - PL
          - PT
          - PR
          - QA
          - RE
          - RO
          - RU
          - RW
          - BL
          - SH
          - KN
          - LC
          - MF
          - PM
          - VC
          - WS
          - SM
          - ST
          - SA
          - SN
          - RS
          - SC
          - SL
          - SG
          - SX
          - SK
          - SI
          - SB
          - SO
          - ZA
          - GS
          - SS
          - ES
          - LK
          - SD
          - SR
          - SJ
          - SZ
          - SE
          - CH
          - SY
          - TW
          - TJ
          - TZ
          - TH
          - TL
          - TG
          - TK
          - TO
          - TT
          - TN
          - TR
          - TM
          - TC
          - TV
          - UG
          - UA
          - AE
          - GB
          - US
          - UM
          - UY
          - UZ
          - VU
          - VE
          - VN
          - VG
          - VI
          - WF
          - EH
          - YE
          - ZM
          - ZW
          description: The country that you want AWS WAF to search for.
      required:
      - Type
      - Value
    UpdateGeoMatchSetResponse:
      type: object
      properties:
        ChangeToken:
          type: string
          description: The ChangeToken that you used to submit the UpdateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.
    ListGeoMatchSetsRequest:
      type: object
      properties:
        NextMarker:
          type: string
          description: If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects. For the second and subsequent ListGeoMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of GeoMatchSet objects.
        Limit:
          type: integer
          description: Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more GeoMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of GeoMatchSet objects.
    CreateGeoMatchSetRequest:
      type: object
      properties:
        Name:
          type: string
          description: A friendly name or description of the GeoMatchSet. You can't change Name after you create the GeoMatchSet.
        ChangeToken:
          type: string
          description: The value returned by the most recent call to GetChangeToken.
      required:
      - Name
      - ChangeToken
    DeleteGeoMatchSetResponse:
      type: object
      properties:
        ChangeToken:
          type: string
          description: The ChangeToken that you used to submit the DeleteGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.
    GetGeoMatchSetResponse:
      type: object
      properties:
        GeoMatchSet:
          $ref: '#/components/schemas/GeoMatchSet'
    WAFInternalErrorException:
      type: object
      properties:
        message:
          type: string
    UpdateGeoMatchSetRequest:
      type: object
      properties:
        GeoMatchSetId:
          type: string
          description: The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.
        ChangeToken:
          type: string
          description: The value returned by the most recent call to GetChangeToken.
        Updates:
          type: array
          items:
            $ref: '#/components/schemas/GeoMatchSetUpdate'
          description: 'An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. For more information, see the applicable data types: GeoMatchSetUpdate: Contains Action and GeoMatchConstraint GeoMatchConstraint: Contains Type and Value You can have only one Type and Value per GeoMatchConstraint. To add multiple countries, include multiple GeoMatchSetUpdate objects in your request.'
      required:
      - GeoMatchSetId
      - ChangeToken
      - Updates
    DeleteGeoMatchSetRequest:
      type: object
      properties:
        GeoMatchSetId:
          type: string
          description: The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.
        ChangeToken:
          type: string
          description: The value returned by the most recent call to GetChangeToken.
      required:
      - GeoMatchSetId
      - ChangeToken
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: waf
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/waf/service/2015-08-24/waf-2015-08-24.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)