This article explains the legacy version of
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.
WAF Essential cannot be configured via our APIs. However, you may leverage our APIs to retrieve WAF and Rate Limiting event log data.
Retrieves the current rate limiting configuration.
This endpoint only supports JSON.
A request to retrieve the current rate limiting configuration is described below.
HTTP Method | Request URI |
---|---|
GET |
https://api.edgecast.com/v2/mcc/customers/AccountNumber/defend/rate_limiting/config |
Define the following term when submitting the above request:
Description | |
---|---|
Required |
|
This endpointIdentifies a request's connection point to our REST API service. only takes advantage of common request headers.
Request body parameters are not required by this endpoint.
The response to the above request includes an HTTP status code, response headers, and a response body.
A status code indicates whether the request was successfully performed.
The response for this endpoint only includes standard HTTP response headers.
The response body for a successful request contains the following response parameters:
Name | Data Type | Description |
---|---|---|
customer_id |
String |
Identifies a customer by account number. |
enabled_date |
String |
Identifies the date on which the Rate Limiting configuration was last modified. Format: YYYY-MM-DDThh:mm:ss:ffffffZ
Example: 2024-06-30T20:42:09.330793Z
The above value represents June 30th, 2024 at 8:42 p.m. UTC. For more information on date/time format, please refer to Report Date/Time Format. |
id |
String |
Identifies the current version of the Rate Limiting configuration by a system-defined alphanumeric ID. Example: 12345678-90ab-cdef-ghij-klmnopqrstuvwxyz1
|
name |
String |
Indicates the name assigned to the Rate Limiting configuration. |
tuples |
Array |
Contains a list of rules. |
dimensions |
Array |
tuples array Indicates the method by which the current rule groups requests. Rate limiting is applied to grouped requests. Valid values are:
A list of valid values is returned by the Get Available Group Types endpoint. |
disabled |
Boolean |
tuples array Indicates whether a rule will be enforced. Valid values are:
|
Integer |
tuples array Indicates the length, in seconds, of the rolling window that tracks the number of requests eligible for rate limiting. The rate limit formula is calculated through the limit and duration_sec response parameters as indicated below. limit requests per duration_sec
Valid values are: 1 | 5 | 10 | 30 | 60 | 120 | 300
|
|
enforcements |
Array |
tuples array Contains settings that define the action that will take place upon a request that has exceeded the rate limit. |
duration_sec |
Integer |
tuples array > enforcements array Indicates the length of time, in seconds, that the action defined within the enforcements array will be applied to a client that violates the rate limit defined by this rule. Valid values are: 10 | 60 | 300
|
id |
String |
tuples array > enforcements array Indicates the system-defined alphanumeric ID assigned to the rate limiting action. Example: 12345678-90ab-cdef-ghij-klmnopqrstuvwxyz1
|
name |
String |
tuples array > enforcements array Indicates the name assigned to the rate limiting action. |
response_body_base64 |
String |
tuples array > enforcements array Custom Response Only This parameter is only relevant when this instance is configured to send a custom response (i.e., custom-response action) for rate limited requests. Indicates the response body that will be sent to rate limited requests. This value is Base64 encoded. |
response_headers |
Object |
tuples array > enforcements array Custom Response Only This parameter is only relevant when this instance is configured to send a custom response (i.e., custom-response action) for rate limited requests. Contains the set of response headers that will be included in the response sent to rate limited requests. |
ResponseHeader |
String |
tuples array > enforcements array > response_headers object Custom Response Only This parameter is only relevant when this instance is configured to send a custom response (i.e., custom-response action) for rate limited requests. Describes a response header by its name and value. This response header will be included in the response sent to rate limited requests. Format: "NameIdentifies a custom response header by its name." : "ValueIdentifies the value assigned to a custom response header."
Example: "My Header" : "Value 1" |
status |
Integer |
tuples array > enforcements array Custom Response Only This parameter is only relevant when this instance is configured to send a custom response (i.e., custom-response action) for rate limited requests. Indicates the HTTP status code (e.g., 404) for the custom response sent to rate limited requests. |
type |
String |
tuples array > enforcements array Indicates the type of action that will be applied to rate limited requests. Valid values are:
Use the Get Available Action Types endpoint to retrieve a list of the available action types. |
url |
String |
tuples array > enforcements array Redirect Only This parameter is only relevant when this instance is configured to redirect rate limited requests. Indicates the URL to which rate limited requests will be redirected. |
id |
String |
tuples array Indicates the system-defined alphanumeric ID for the current rule. Example: 12345678-90ab-cdef-ghij-klmnopqrstuvwxyz1
|
Integer |
tuples array Indicates the rate limit value. This value identifies the number of requests that will trigger rate limiting. The rate limit formula is calculated through the limit and duration_sec response parameters as indicated below. limit requests per duration_sec
|
|
name |
String |
tuples array Indicates the name of the rule. |
rules |
Array |
tuples array Contains the set of condition groups associated with a rule. |
chained_rule |
Array |
tuples array > rules array Contains a list of match conditions. If a condition group only contains a single match condition, then this response parameter will be empty. The first match condition in a condition group will not be included under this response parameter. It is always reported under the operator response parameter. This response parameter contains all other match conditions associated with the current condition group. |
id |
String |
tuples array > rules array > chained_rule array Identifies a rate limiting match condition by its system-defined alphanumeric ID. Example: 12345678-90ab-cdef-ghij-klmnopqrstuvwxyz1
|
operator |
Object |
tuples array > rules array > chained_rule array Contains the properties of a match condition. The type of match condition is reported under the variable response parameter. |
is_negated |
Boolean |
tuples array > rules array > chained_rule array > operator object Indicates whether this match condition will be satisfied when the requestThe attribute (e.g., hostname, URL path, IP address, etc.) of the request that will be compared is determined by the variable array. matches or does not match the value defined by the values parameter. Valid values are:
|
type |
String |
tuples array > rules array > chained_rule array > operator object Indicates how the system will interpret the case-sensitive comparison between the requestThe attribute (e.g., hostname, URL path, IP address, etc.) of the request that will be compared is determined by the variable array. and the values parameter. Valid values:
A list of valid values is returned by the Get Available Match Comparison Type endpoint. View legacy match types.
The following match types have undergone end-of-life and should not be used:
|
value Deprecated |
String |
tuples array > rules array > chained_rule array > operator object Identifies a value that will be used to identify requests that are eligible for rate limiting. This response parameter has undergone end-of-life. Values are now reported in the values array. |
values |
Array |
tuples array > rules array > chained_rule array > operator object Identifies one or more values used to identify requests that are eligible for rate limiting. |
variable |
Array |
tuples array > rules array > chained_rule array Describes the type of match condition. |
match |
Array |
tuples array > rules array > chained_rule array > variable array Identifies the subcategory associated with a match condition. |
String |
tuples array > rules array > chained_rule array > variable array > match array Indicates the match condition's subcategory (e.g., User-Agent). Valid values are reported by the value element of the valid_values array returned by the Get Available Match Condition Types endpoint. |
|
type |
String |
tuples array > rules array > chained_rule array > variable array Indicates the type of match condition (e.g., REQUEST_HEADERS). Valid values are reported by the type parameter in the Get Available Match Condition Types endpoint. |
id |
String |
tuples array > rules array Indicates the system-defined alphanumeric ID of a condition group. Example: 12345678-90ab-cdef-ghij-klmnopqrstuvwxyz1
|
name |
String |
tuples array > rules array Indicates the name of a condition group. |
operator |
Object |
tuples array > rules array Contains the first match condition associated with a condition group. The type of match condition is reported under the variable response parameter. |
is_negated |
Boolean |
tuples array > rules array > operator object Indicates whether this match condition will be satisfied when the requestThe attribute (e.g., hostname, URL path, IP address, etc.) of the request that will be compared is determined by the variable array. matches or does not match the value defined by the values parameter. Valid values are:
|
type |
String |
tuples array > rules array > operator object Indicates how the system will interpret the case-sensitive comparison between the requestThe attribute (e.g., hostname, URL path, IP address, etc.) of the request that will be compared is determined by the variable array. and the values parameter. Valid values:
A list of valid values is returned by the Get Available Match Comparison Type endpoint. View legacy match types.
The following match types have undergone end-of-life and should not be used:
|
value Deprecated |
String |
tuples array > rules array > operator object Identifies a value that will be used to identify requests that are eligible for rate limiting. This response parameter has undergone end-of-life. Values are now reported in the values array. |
values |
Array |
tuples array > rules array > operator object Identifies one or more values used to identify requests that are eligible for rate limiting. |
variable |
Array |
tuples array > rules array Describes the type of match condition. |
match |
Array |
tuples array > rules array > variable array Identifies the subcategory associated with a match condition. |
String |
tuples array > rules array > variable array > match array Indicates the match condition's subcategory (e.g., User-Agent). Valid values are reported by the value element of the valid_values array returned by the Get Available Match Condition Types endpoint. |
|
type |
String |
tuples array > rules array > variable array Indicates the type of match condition (e.g., REQUEST_HEADERS). Valid values are reported by the type parameter in the Get Available Match Condition Types endpoint. |
scope |
Object |
tuples array Contains the scope for the current rule. |
host |
Object |
tuples array > scope object Contains hostname criteria that defines the set of requests eligible for rate limiting by the current rule. |
is_negated |
Boolean |
tuples array > scope object > host object Indicates whether this scope condition will be satisfied when the host defined in the request URL matches or does not match the value defined by the value|values parameter. Valid values are:
|
type |
String |
tuples array > scope object > host object Indicates how the system will interpret the comparison between the request's hostname and the value defined within the value|values parameter. Valid values:
Apply this rate limit across all hostnames by setting this parameter to "GLOB" and setting the value parameter to "*." This type of configuration is also known as "Default." View legacy match types.
The following match type has undergone end-of-life and should not be used:
|
value |
String |
tuples array > scope object > host object Identifies a value that will be used to identify requests that are eligible for rate limiting. This response parameter is only included in the response when the type response parameter is set to one of the following values: GLOB or REGEX. |
values |
Array String values |
tuples array > scope object > host object Identifies one or more values used to identify requests that are eligible for rate limiting. This response parameter is only included in the response when the type response parameter is set to "EM." |
path |
Object |
tuples array > scope object Contains URL path criteria that defines the set of requests eligible for rate limiting by the current rule. |
is_negated |
Boolean |
tuples array > scope object > path object Indicates whether this scope condition will be satisfied when the request's URL path matches or does not match the value defined by the value|values parameter. Valid values are:
|
type |
String |
tuples array > scope object > path object Indicates how the system will interpret the comparison between the request's URL path and the value defined within the value|values parameter. Valid values:
Apply this rate limit across all request URLs by setting this parameter to "GLOB" and setting the value parameter to "*." This type of configuration is also known as "Default." View legacy match types.
The following match type has undergone end-of-life and should not be used:
|
value |
String |
tuples array > scope object > path object Identifies a value that will be used to identify requests that are eligible for rate limiting. This response parameter is only included in the response when the type response parameter is set to one of the following values: GLOB or REGEX. |
values |
Array String values |
tuples array > scope object > path object Identifies one or more values used to identify requests that are eligible for rate limiting. This response parameter is only included in the response when the type response parameter is set to "EM." |
type |
String |
This response parameter always returns "ddos-coordinator." |
The response body for an unsuccessful request will contain an error response that provides additional information.
A sample JSON request is shown below.
GET https://api.edgecast.com/v2/mcc/customers/0001/defend/rate_limiting/config 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: 1212
{ "customer_id": "0001", "enabled_date": "2018-03-31T00:16:16.113092Z", "id": "e0fa44b4-ede1-4056-8bfe-5daa481a26c10001", "name": "name", "tuples": [{ "dimensions": [ "IP" ], "disabled": false, "duration_sec": 300, "enforcements": [{ "duration_sec": 10, "id": "dc0f41e9-8e6d-4b7d-b6f5-eef0f840e7cc0001", "name": "Rate Limiting Action", "type": "redirect-302", "url": "http://sec.example.com/unavailable.html" } ], "id": "4bb1fd9e-1de9-4790-beab-a6fd64d8d3720001", "limit": 500, "name": "Rate Limiting Rule", "rules": [{ "chained_rule": [], "id": "f46afe95-98a8-4e9e-9b2b-db7d5c565b8718786", "name": "Condition Group", "operator": { "is_negated": false, "type": "EM", "values": [ "http://cdn.example.com/index.php" ] }, "variable": [{ "type": "REQUEST_URI" } ] } ] "scope": { "host": { "is_negated": false, "type": "EM", "values": [ "www.example.com" ] }, "path": { "is_negated": false, "type": "GLOB", "value": "*" } } } ], "type": "ddos-coordinator" }