Get Available Match Condition Types - Deprecated

This article explains the legacy version of Rate Limiting that underwent end-of-life on June 30, 2021. Our new version of WAF expands upon all of the capabilities offered by WAF (Legacy) and Rate Limiting (Legacy) with a simplified and centralized setup. Please upgrade to the latest version of WAF at your earliest convenience.

This deprecated endpoint was discontinuedIdentifies an endpoint that is no longer in service. This type of endpoint should not be used. All scripts that include this type of endpoint must be updated to use a different endpoint. on 12/9/2019. If you have not already updated your scripts and applications to leverage the Get Configuration (Version 1.0) and Update Configuration (Version 1.0) endpoints, then we strongly encourage you to do so immediately.

Lists the available types of conditions for identifying a request that should be rate limited.

This endpoint only supports JSON.

Request

A request to retrieve a list of the available match conditions types is described below.

HTTP Method Request URI

GET

https://api.edgecast.com/v2/mcc/customers/AccountNumber/defend/rate_limiting/config_options/rules/variables

Define the following terms when submitting the above request:

VariableA variable represents a value that must be replaced. A variable consists of either a URL segment (e.g., "0001" in /0001/) or a query string value (e.g., "3" in mediaTypes=3).

Description

AccountNumber

Required

Replace this variable with a customer account number. This account number may be found in the upper right-hand corner of the MCC.

Request Headers

This endpointIdentifies a request's connection point to our REST API service. only takes advantage of common request headers.

Request Body

Request body parameters are not required by this endpoint.

Response

The response to the above request includes an HTTP status code, response headers, and a response body.

Status Code

A status code indicates whether the request was successfully performed.

Response Headers

The response for this endpoint only includes standard HTTP response headers.

View common response headers.

Response Body

The response body for a successful request contains the following response parameters for each available match condition:

Name Data Type Description

friendly_name

String

Identifies a match condition by its name.

type

String

Identifies a match condition by its technical name.

help

String

Provides a brief description of the match condition's purpose.

valid_values

Array

This response parameter identifies the subcategory associated with a match condition.

friendly_name

String

valid_values array

Indicates the match condition's subcategory.

Only the "Request Headers" and "Request Method" match conditions support subcategories.

help

String

valid_values array

Provides a brief description of the match condition's subcategory.

value

String

valid_values array

Indicates the match condition's subcategory.

match_help

String

Provides a brief description of the match condition's purpose.

match_required

Boolean

Indicates whether a subcategory must be defined for the current match condition.

The available subcategories for a match condition are provided within the valid_values response parameter.

Errors

The response body for an unsuccessful request will contain an error response that provides additional information.

View common error messages.

Sample Request and Response

A sample JSON request is shown below.

GET https://api.edgecast.com/v2/mcc/customers/0001/defend/rate_limiting/config_options/rules/variables HTTP/1.1

Authorization: TOK:12345678-1234-1234-1234-1234567890ab

Accept: application/json

Content-Type: application/json

Host:api.edgecast.com

A sample JSON response is shown below.

HTTP/1.1 200 OK

Cache-Control: private

Content-Type: application/json; charset=utf-8

Date: Thu, 15 Apr 2021 12:00:00 GMT

Content-Length: 1884

[{
		"friendly_name": "IP Addresses",
		"type": "REMOTE_ADDR",
		"help": "The IP(s) of the client(s) who make a request."
	}, {
		"friendly_name": "Request URL",
		"type": "REQUEST_URI",
		"help": "The URL the client requested (/services/security)."
	}, {
		"help": "The headers provided by the client.",
		"friendly_name": "Request Headers",
		"valid_values": [{
				"friendly_name": "Host",
				"help": "The Host header.",
				"value": "Host"
			}, {
				"friendly_name": "User-Agent",
				"help": "The User-Agent header.",
				"value": "User-Agent"
			}, {
				"friendly_name": "Referer",
				"help": "The Referer header.",
				"value": "Referer"
			}
		],
		"match_help": "One or more headers which are matched as an or (e.g. User-Agent OR Content-Type).",
		"type": "REQUEST_HEADERS",
		"match_required": true
	}, {
		"friendly_name": "File extension",
		"type": "FILE_EXT",
		"help": "The file extension of the URL the client requested"
	}, {
		"help": "Method used in request.",
		"friendly_name": "Request Method",
		"valid_values": [{
				"friendly_name": "GET Request Method",
				"help": "GET Request methods.",
				"value": "GET"
			}, {
				"friendly_name": "POST Request Method",
				"help": "POST Request methods.",
				"value": "POST"
			}, {
				"friendly_name": "HEAD Request Method",
				"help": "HEAD Request methods.",
				"value": "HEAD"
			}, {
				"friendly_name": "DELETE Request Method",
				"help": "DELETE Request methods.",
				"value": "DELETE"
			}, {
				"friendly_name": "PUT Request Method",
				"help": "PUT Request methods.",
				"value": "PUT"
			}, {
				"friendly_name": "OPTIONS Request Method",
				"help": "OPTIONS Request methods.",
				"value": "OPTIONS"
			}
		],
		"match_help": "Request Method (e.g. GET or POST)",
		"type": "REQUEST_METHOD",
		"match_required": true
	}
]