Criteria Reference, v2015–08–17

The following represents all rule criteria the Property Manager API
supports. The set available to you is determined by the product and
modules associated with the property. Use the List Available
Criteria operation to get this
information.

This reference specifies features used in the v2015-08-17rule
format. See the Criteria section for details on the
most recent feature set, which corresponds to the latest rule
format.

bucket

This read-only
criteria matches a specified
percentage of requests when used with the required accompanying
spdy behavior. Contact Akamai Professional Services for help configuring
it.

Options:

bucket (number within 0–100 range):
Specifies the
percentage of SPDY requests to match.

cacheability

Matches the current cache
state.

NOTE: Any no-store or bypass-cache HTTP headers set on the
origin’s content overrides properties’ caching
instructions.

Options:

result (boolean):
When
disabled, reverses the match so that the cache state does not match
the specified value. (In the Beta API, please substitute "true" and "false" string values.)

value (enum string):
Content’s
cache is enabled (cacheable) or not (no-store), or else is ignored
(bypass-cache).

clientIp

Matches the IP number of the
requesting client.

Options:

result (boolean):
When disabled,
reverses the match so that the IP is not among the specified set. (In the Beta API, please substitute "true" and "false" string values.)

use-headers (boolean):
When
connecting via a proxy server as determined by the X-Forwarded-For
header, enabling this option matches the connecting client’s IP
address rather than the original end client specified in the header.

Feature Previously Named: clientip

clientIpVersion

Matches the version of
the IP protocol used by the requesting client.

Options:

value (enum string):
The IP
version of the client request, either 4 or 6.

use-headers (boolean):
When connecting via a proxy server as determined by the
X-Forwarded-For header, enabling this option matches the connecting
client’s IP address rather than the original end client specified in
the header.

Feature Previously Named: clientipversion

cloudletsOrigin

Allows Cloudlets
Origins, referenced by label, to define their own criteria to assign
custom origin definitions. The criteria may match, for example, for a
specified percentage of requests defined by the cloudlet to use an
alternative version of a website.

This criteria must be paired with a sibling origin
definition. It should not appear with any other criteria, and an
allowCloudletsOrigins behavior must
appear within a parent rule.

value-wildcard (boolean):
When
enabled, allows * and ? wildcard matches in the value field, so
that specifying text/* matches both text/html and text/css.

value-case (boolean):
When
enabled, the match is case-sensitive for the
value field.

Feature Previously Named: contenttype

deviceCharacteristic

Match various
aspects of the device or browser making the request.

Based on the value of the characteristic option, the expected value
is either a boolean, a number, or a string, possibly representing a
version number. Each type of value requires a different value-
field:

value-boolean specifies a boolean value.

value-number specifies a numeric value.

value-version specifies a version number string value.

value-string specifies any other string value, to which the
value-case and value-wildcard options apply.

Options:

characteristic (enum string):
Aspect of the device or browser to match. The following values are
boolean:

op-number (enum string):
When the characteristic expects a numeric value, compares the
specified value-number against the matched client, using the
following operators: eq, ge, gt, le, lt, ne.

op-version (enum string):
When the characteristic expects a version string value, compares
the specified value-version against the matched client, using the
following operators: version-eq, version-ge, version-gt,
version-le, version-lt, version-ne.

value-boolean (boolean):
When the characteristic expects a boolean value, this sets the
value to true or false. (In the Beta API, please substitute "true" and "false" string values.)

value-string (array of string values):
When the characteristic expects a string, this specifies the set
of values.

value-number (number):
When the characteristic expects a numeric value, this specifies
the number.

value-version (string):
When the characteristic expects a version number, this specifies
it as a string.

value-case (boolean):
When enabled, the match is case-sensitive for the value-string
field.

fileExtension

Matches the requested filename’s
extension, if present.

Options:

result (boolean):
When disabled, reverses the
set of matching results so that the requested file does not match
any of the specified extensions. (In the Beta API, please substitute "true" and "false" string values.)

value (array of string values):
An array of file extension
strings, with no leading dot characters, for example png, jpg,
jpeg, and gif.

case (boolean):
When enabled, the match is
case-sensitive.

Feature Previously Named: ext

filename

Matches the requested
filename, or test whether it is present.

Options:

result (enum string):
If true or
false, matches whether the value matches. If
empty or not_empty, matches whether the specified filename is part
of the path.

value (array of string values):
Matches the filename
component of the request URL. Wildcards are allowed, where ? matches
a single character and * matches more than one. For example, specify
filename.* to accept any extension.

case (boolean):
When enabled, the
match is case-sensitive for the value field.

hostname

Matches the requested hostname.

Options:

result (boolean):
When disabled,
reverses the match so that the hostname is not among the specified
set. (In the Beta API, please substitute "true" and "false" string values.)

host (array of string values):
A list of hostnames. Wildcards
match, so *.example.com matches both m.example.com and
www.example.com.

Feature Previously Named: hoit

matchAdvanced

A read-only
criteria that specifies
Akamai XML metadata. It can only be configured on your behalf by
Akamai Professional Services.

Options:

description (string):
A
human-readable description of what the XML block does.

open_xml (string):
An XML
string that opens the relevant block.

close_xml (string):
An XML
string that closes the relevant block.

Feature Previously Named: advancedmatch

matchCpCode

Match the assigned content
provider code.

Options:

cpcode (object):
Specifies an
object that encodes information about the cpcode to match, including
an id key and a descriptive name:

"cpcode": {
"id" : 12345,
"name" : "my cpcode"
}

Feature Previously Named: matchcpcode

matchResponseCode

Match a set or range
of HTTP response codes.

Options:

result (boolean):
When
disabled, reverses the match so that the response code does not
match the value. (In the Beta API, please substitute "true" and "false" string values.)

value-type (enum string):
The type of match. If set to checklist, matches discrete codes
specified in the value field. If set to range, considers
range-start-value and range-end-value instead.

value (array of string values):
A set
of response codes to match, for example ["404","500"].

range-start-value (string):
Specifies the start of a range of responses when value-type is
set to range. For example: 400 to match anything from 400 to
500.

range-end-value (string):
Specifies the end of a range of responses when value-type is set
to range. For example: 500 to match anything from 400 to
500.

Feature Previously Named: responsecode

originTimeout

Matches when the origin
responds with a timeout error.

Options:

result (enum string):
Toggle the
match. When this option is disabled, the match occurs when there is
no timeout.

Feature Previously Named: origintimeout

path

Matches the URL’s non-hostname
path component.

Options:

result (boolean):
When disabled,
reverses the match so that the requested pathname does not match any
of those specified as a value. (In the Beta API, please substitute "true" and "false" string values.)

value (array of string values):
Matches the URL
path, excluding leading hostname and trailing query parameters. The
path is relative to the server root, for example /blog. The value
accepts * or ? wildcard characters, for example /blog/*/2014.

case (boolean):
When enabled, the match is
case-sensitive.

Feature Previously Named: wildcard

queryStringParameter

Matches query
string field names or values.

Options:

name (string):
The
name of the query field, for example, q in ?q=string.

result (enum string):
Narrows the match according to the following criteria:

exists or doesntexist tests whether the query field’s
name is present in the requesting URL.

true or false tests whether the field’s
value string matches.

islessthan or ismorethan matches ranges when the
value is numeric.

isbetween also matches numeric ranges, but considers
lowerbound and
upperbound fields rather than
value.

value (array of string values):
The
value of the query field, for example, string in ?q=string.

lowerbound (string):
When the value is numeric and the result is set to isbetween,
this field specifies the match’s minimum value.

upperbound (string):
When the value is numeric and the result is set to isbetween,
this field specifies the match’s maximum value.

name-wildcard (boolean):
When enabled, allows * and ? wildcard matches in the name
field.

name-case (boolean):
When enabled, the match is case-sensitive for the name field.

value-case (boolean):
When enabled, the match is case-sensitive for the value field.

value-escape (boolean):
When enabled, matches when the value is URL-escaped.

Feature Previously Named: querystring

random

Matches a specified percentage
of requests. Use this match to apply behaviors to a percentage of your
incoming requests that differ from the remainder, useful for A/b
testing, or to offload traffic onto different servers.

Options:

bucket (number within 0–100 range):
Specify a percentage of
random requests to which to apply a behavior. Any remainders do not
match.

requestCookie

Match the cookie name or
value passed with the request.

Options:

name (string):
The name of
the cookie, for example, visitor in visitor:anon.

result (enum string):
Narrows
the match according to the following criteria:

value-case (boolean):
When
enabled, the match is case-sensitive for the value field.

Feature Previously Named: responseheader

time

Specifies ranges of times during
which the request occurred.

Options:

behavior (enum string):
Specifies how to
define the range of time:

beginning if the duration is indefinite, using the value of
begindate.

between sets a single range between two dates, using the values
of begindate and enddate.

lasting also sets a single range, but based on duration relative
to the starting time. It relies on the values of
lastingdate and
lastingduration.

repeating allows a lasting-style range to repeat at regular
intervals. It relies on the values of
repeatbegindate,
repeatduration, and
repeatinterval.

repeatinterval (duration string):
Sets the
time between each repeating time period’s starting points when
behavior set to repeating.

repeatduration (duration string):
Sets the
duration of each repeating time period with
behavior set to repeating.

lastingduration (duration string):
With
behavior set to lasting, specifies the end of a
time period as a duration relative to the
lastingdate.

lastingdate (ISO 8601 format date/time string):
Sets the start
of a fixed time period with behavior set to
lasting.

repeatbegindate (ISO 8601 format date/time string):
Sets the
start of the initial time period with behavior set
to repeating.

applydst (boolean):
Adjusts the start
time plus repeat interval to account for daylight saving time. Applies
when the current time and the start time use different systems,
daylight and standard, and the two values are in conflict. (In the Beta API, please substitute "on" and "off" string values.)

begindate (ISO 8601 format date/time string):
Sets the start
of a time period with behavior set to beginning
or between.

enddate (ISO 8601 format date/time string):
Sets the end of a
fixed time period with behavior set to
between.

tokenAuthorization

Match on Auth Token
2.0 verification results.

Options:

result (enum string):
Either pass if there are no errors, fail for any errors
specified by statusList, or failAll if there are any errors.

headers considers IP addresses specified in the X-Forwarded-For
header, succeeding if any of them match.

both behaves like headers, but also considers the connecting
client’s IP address.

use-headers (enum string):
When
connecting via a proxy server as determined by the X-Forwarded-For
header, enabling this option matches the connecting client’s IP
address rather than the original end client specified in the header.

Feature Previously Named: userlocation

userNetwork

Matches details of the
network over which the request was made, determined by looking up the
IP address in a database.

Options:

field (enum string):
The type of
information to match, either BW for bandwidth, NETWORK for
specific networks, or more general NETWORK_TYPE.

result (boolean):
When
disabled, reverses the match so that the client’s network does not
match the value. (In the Beta API, please substitute "true" and "false" string values.)

headers considers IP addresses specified in the
X-Forwarded-For header, succeeding if any of them match.

both behaves like headers, but also considers the connecting
client’s IP address.

use-headers (enum string):
When
connecting via a proxy server as determined by the X-Forwarded-For
header, enabling this option matches the connecting client’s IP
address rather than the original end client specified in the header.