AWS WAF Waf Byte Match Set API

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

Operations 5

POST /#CreateByteMatchSet Create Byte Match Set #
POST /#DeleteByteMatchSet Delete Byte Match Set #
POST /#GetByteMatchSet Get Byte Match Set #
POST /#ListByteMatchSets List Byte Match Sets #
POST /#UpdateByteMatchSet Update Byte Match Set #

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-byte-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-byte-match-set-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AWS WAF Byte 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: Byte Match Set
paths:
  /#CreateByteMatchSet:
    post:
      operationId: CreateByteMatchSet
      summary: Create Byte 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 a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests. To create and configure a ByteMatchSet, perform the following steps: Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request. Submit a CreateByteMatchSet request. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to wa'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/CreateByteMatchSetResponse'
        '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.CreateByteMatchSet
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/CreateByteMatchSetRequest'
      tags:
      - Byte Match Set
  /#DeleteByteMatchSet:
    post:
      operationId: DeleteByteMatchSet
      summary: Delete Byte 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 ByteMatchSet. You can''t delete a ByteMatchSet if it''s still used in any Rules or if it still includes any ByteMatchTuple objects (any filters). If you just want to remove a ByteMatchSet from a Rule, use UpdateRule. To permanently delete a ByteMatchSet, perform the following steps: Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request. Submit a DeleteByteMatchSet request.'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/DeleteByteMatchSetResponse'
              example:
                ChangeToken: abcd12f2-46da-4fdb-b8d5-fbd4c466928f
        '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.DeleteByteMatchSet
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/DeleteByteMatchSetRequest'
            example:
              ByteMatchSetId: exampleIDs3t-46da-4fdb-b8d5-abc321j569j5
              ChangeToken: abcd12f2-46da-4fdb-b8d5-fbd4c466928f
      tags:
      - Byte Match Set
  /#GetByteMatchSet:
    post:
      operationId: GetByteMatchSet
      summary: Get Byte 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 ByteMatchSet specified by ByteMatchSetId.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/GetByteMatchSetResponse'
              example:
                ByteMatchSet:
                  ByteMatchSetId: exampleIDs3t-46da-4fdb-b8d5-abc321j569j5
                  ByteMatchTuples:
                  - FieldToMatch:
                      Data: referer
                      Type: HEADER
                    PositionalConstraint: CONTAINS
                    TargetString: badrefer1
                    TextTransformation: NONE
                  Name: ByteMatchNameExample
        '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.GetByteMatchSet
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/GetByteMatchSetRequest'
            example:
              ByteMatchSetId: exampleIDs3t-46da-4fdb-b8d5-abc321j569j5
      tags:
      - Byte Match Set
  /#ListByteMatchSets:
    post:
      operationId: ListByteMatchSets
      summary: List Byte 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 ByteMatchSetSummary objects.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/ListByteMatchSetsResponse'
        '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.ListByteMatchSets
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/ListByteMatchSetsRequest'
      tags:
      - Byte Match Set
  /#UpdateByteMatchSet:
    post:
      operationId: UpdateByteMatchSet
      summary: Update Byte 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 ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values: Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one. The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header. The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type. Where to look, such as at the beginning or the end of a query string. Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string. For example, you can add a Byte'
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/UpdateByteMatchSetResponse'
              example:
                ChangeToken: abcd12f2-46da-4fdb-b8d5-fbd4c466928f
        '500':
          description: WAFInternalErrorException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/WAFInternalErrorException'
        '400':
          description: WAFInvalidAccountException; WAFInvalidOperationException; WAFInvalidParameterException; WAFLimitsExceededException; WAFNonexistentContainerException; WAFNonexistentItemException; 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.UpdateByteMatchSet
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/UpdateByteMatchSetRequest'
            example:
              ByteMatchSetId: exampleIDs3t-46da-4fdb-b8d5-abc321j569j5
              ChangeToken: abcd12f2-46da-4fdb-b8d5-fbd4c466928f
              Updates:
              - Action: DELETE
                ByteMatchTuple:
                  FieldToMatch:
                    Data: referer
                    Type: HEADER
                  PositionalConstraint: CONTAINS
                  TargetString: badrefer1
                  TextTransformation: NONE
      tags:
      - Byte Match Set
components:
  schemas:
    ByteMatchSetUpdate:
      type: object
      properties:
        Action:
          type: string
          enum:
          - INSERT
          - DELETE
          description: Specifies whether to insert or delete a ByteMatchTuple.
        ByteMatchTuple:
          $ref: '#/components/schemas/ByteMatchTuple'
      required:
      - Action
      - ByteMatchTuple
    ByteMatchSet:
      type: object
      properties:
        ByteMatchSetId:
          type: string
          description: The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet (see GetByteMatchSet), update a ByteMatchSet (see UpdateByteMatchSet), insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet). ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.
        Name:
          type: string
          description: A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.
        ByteMatchTuples:
          type: array
          items:
            $ref: '#/components/schemas/ByteMatchTuple'
          description: Specifies the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.
      required:
      - ByteMatchSetId
      - ByteMatchTuples
    UpdateByteMatchSetRequest:
      type: object
      properties:
        ByteMatchSetId:
          type: string
          description: The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.
        ChangeToken:
          type: string
          description: The value returned by the most recent call to GetChangeToken.
        Updates:
          type: array
          items:
            $ref: '#/components/schemas/ByteMatchSetUpdate'
          description: 'An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types: ByteMatchSetUpdate: Contains Action and ByteMatchTuple ByteMatchTuple: Contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation FieldToMatch: Contains Data and Type'
      required:
      - ByteMatchSetId
      - ChangeToken
      - Updates
    ListByteMatchSetsResponse:
      type: object
      properties:
        NextMarker:
          type: string
          description: If you have more ByteMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more ByteMatchSet objects, submit another ListByteMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.
        ByteMatchSets:
          type: array
          items:
            $ref: '#/components/schemas/ByteMatchSetSummary'
          description: An array of ByteMatchSetSummary objects.
    ListByteMatchSetsRequest:
      type: object
      properties:
        NextMarker:
          type: string
          description: If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListByteMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of ByteMatchSets.
        Limit:
          type: integer
          description: Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more ByteMatchSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ByteMatchSet objects.
    DeleteByteMatchSetResponse:
      type: object
      properties:
        ChangeToken:
          type: string
          description: The ChangeToken that you used to submit the DeleteByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.
    GetByteMatchSetRequest:
      type: object
      properties:
        ByteMatchSetId:
          type: string
          description: The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.
      required:
      - ByteMatchSetId
    CreateByteMatchSetResponse:
      type: object
      properties:
        ByteMatchSet:
          $ref: '#/components/schemas/ByteMatchSet'
        ChangeToken:
          type: string
          description: The ChangeToken that you used to submit the CreateByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.
    UpdateByteMatchSetResponse:
      type: object
      properties:
        ChangeToken:
          type: string
          description: The ChangeToken that you used to submit the UpdateByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.
    WAFDisallowedNameException:
      type: object
      properties:
        message:
          type: string
    WAFInvalidAccountException:
      type: object
      properties: {}
    WAFInternalErrorException:
      type: object
      properties:
        message:
          type: string
    GetByteMatchSetResponse:
      type: object
      properties:
        ByteMatchSet:
          $ref: '#/components/schemas/ByteMatchSet'
    ByteMatchTuple:
      type: object
      properties:
        FieldToMatch:
          $ref: '#/components/schemas/FieldToMatch'
        TargetString:
          type: string
          format: byte
          description: 'The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes. Valid values depend on the values that you specified for FieldToMatch: HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header. METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS,'
        TextTransformation:
          type: string
          enum:
          - NONE
          - COMPRESS_WHITE_SPACE
          - HTML_ENTITY_DECODE
          - LOWERCASE
          - CMD_LINE
          - URL_DECODE
          description: 'Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match. You can only specify a single type of TextTransformation. CMD_LINE When you''re concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations: Delete the following characters: \ " '' ^ Delete spaces before the '
        PositionalConstraint:
          type: string
          enum:
          - EXACTLY
          - STARTS_WITH
          - ENDS_WITH
          - CONTAINS
          - CONTAINS_WORD
          description: 'Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following: CONTAINS The specified part of the web request must include the value of TargetString, but the location doesn''t matter. CONTAINS_WORD The specified part of the web request must include the value of TargetString, and TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means one of the following: TargetString exactly matches the v'
      required:
      - FieldToMatch
      - TargetString
      - TextTransformation
      - PositionalConstraint
    ByteMatchSetSummary:
      type: object
      properties:
        ByteMatchSetId:
          type: string
          description: The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet, update a ByteMatchSet, remove a ByteMatchSet from a Rule, and delete a ByteMatchSet from AWS WAF. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.
        Name:
          type: string
          description: A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.
      required:
      - ByteMatchSetId
      - Name
    DeleteByteMatchSetRequest:
      type: object
      properties:
        ByteMatchSetId:
          type: string
          description: The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.
        ChangeToken:
          type: string
          description: The value returned by the most recent call to GetChangeToken.
      required:
      - ByteMatchSetId
      - ChangeToken
    FieldToMatch:
      type: object
      properties:
        Type:
          type: string
          enum:
          - URI
          - QUERY_STRING
          - HEADER
          - METHOD
          - BODY
          - SINGLE_QUERY_ARG
          - ALL_QUERY_ARGS
          description: 'The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following: HEADER: A specified request header, for example, the value of the User-Agent or Referer header. If you choose HEADER for the type, specify the name of the header in Data. METHOD: The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. QUERY_STRING: A query string, which is the part of a URL that appears '
        Data:
          type: string
          description: When the value of Type is HEADER, enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer. The name of the header is not case sensitive. When the value of Type is SINGLE_QUERY_ARG, enter the name of the parameter that you want AWS WAF to search, for example, UserName or SalesRegion. The parameter name is not case sensitive. If the value of Type is any other value, omit Data.
      required:
      - Type
    CreateByteMatchSetRequest:
      type: object
      properties:
        Name:
          type: string
          description: A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.
        ChangeToken:
          type: string
          description: The value returned by the most recent call to GetChangeToken.
      required:
      - Name
      - 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)