Property Manager API Criteria

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, and you can get it by running the List Available Criteria operation.

This reference specifies the most recent set of features, that of the latest rule format. For documentation on features specified by older rule formats, see the following:

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:

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

Property Manager Name: Percentage of Clients

cacheability

Matches the current cache state. Note that any NO_STORE or BYPASS_CACHE HTTP headers set on the origin’s content overrides properties’ caching instructions, in which case this criteria does not apply.

Options:

  • matchOperator (enum string): When set to IS, matches the value. If set to IS_NOT, reverses the match so that the cache state does not match the specified value.
  • value (enum string): Content’s cache is enabled (CACHEABLE) or not (NO_STORE), or else is ignored (BYPASS_CACHE).

Property Manager Name: Response Cacheability

clientIp

Matches the IP number of the requesting client.

Options:

  • matchOperator (enum string): Matches the contents of values if set to IS_ONE_OF, otherwise IS_NOT_ONE_OF reverses the match.
  • values (array of string values): IP or CIDR block, for example: 71.92.0.0/14.
  • useHeaders (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.

Property Manager Name: Client IP

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 IPV4 or IPV6.
  • useXForwardedFor (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.

Property Manager Name: Client IP Version

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.

Options:

  • originId (string): The Cloudlets Origins identifier, limited to alphanumeric and underscore characters.

Property Manager Name: Cloudlets Origin ID

contentDeliveryNetwork

A read-only criteria that specifies the type of Akamai network handling the request. Contact Akamai Professional Services for help configuring it.

Options:

  • matchOperator (enum string): Matches the specified network if set to IS, otherwise IS_NOT reverses the match..
  • network (enum string): Match requests served from either the PRODUCTION or STAGING network.

Property Manager Name: CDN Network

contentType

Matches the HTTP response header’s Content-Type.

Options:

  • matchOperator (enum string): Matches any Content-Type among specified values when set to IS_ONE_OF, otherwise IS_NOT_ONE_OF reverses the match.
  • values (array of string values): Content-Type response header value, for example text/html.
  • matchWildcard (boolean): When enabled, allows * and ? wildcard matches among the values, so that specifying text/* matches both text/html and text/css.
  • matchCaseSensitive (boolean): When enabled, the match is case-sensitive for all values.

Property Manager Name: Content Type

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:

  • booleanValue specifies a boolean value.
  • numericValue specifies a numeric value.
  • versionValue specifies a version number string value.
  • stringValue specifies any other string value, to which the valueCase and valueWildcard options apply.

Options:

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

    • ACCEPT_THIRD_PARTY_COOKIE
    • AJAX_SUPPORT_JAVASCRIPT
    • COOKIE_SUPPORT
    • DUAL_ORIENTATION (whether the display adapts to portrait/landscape orientation)
    • FULL_FLASH_SUPPORT
    • GIF_ANIMATED
    • IS_MOBILE
    • IS_TABLET (subset of IS_MOBILE)
    • IS_WIRELESS_DEVICE

    The following are numeric values:

    • PHYSICAL_SCREEN_HEIGHT (millimeters)
    • PHYSICAL_SCREEN_WIDTH (millimeters)
    • RESOLUTION_HEIGHT (pixels)
    • RESOLUTION_WIDTH (pixels)
    • XHTML_SUPPORT_LEVEL

    The following are version string values:

    • DEVICE_OS_VERSION
    • MOBILE_BROWSER_VERSION

    The following are string values:

    • BRAND_NAME (such as Samsung or Apple)
    • DEVICE_OS
    • MARKETING_NAME (such as Samsung Illusion)
    • MOBILE_BROWSER
    • MODEL_NAME (such as SCH-I110)
  • stringMatchOperator (enum string): When the characteristic expects a string value, set this to MATCHES_ONE_OF to match against the stringValue set, otherwise set to DOES_NOT_MATCH_ONE_OF to exclude that set of values.
  • numericMatchOperator (enum string): When the characteristic expects a numeric value, compares the specified numericValue against the matched client, using the following operators: IS, IS_MORE_THAN_OR_EQUAL, IS_MORE_THAN, IS_LESS_THAN_OR_EQUAL, IS_LESS_THAN, IS_NOT.
  • versionMatchOperator (enum string): When the characteristic expects a version string value, compares the specified versionValue against the matched client, using the following operators: IS, IS_MORE_THAN_OR_EQUAL, IS_MORE_THAN, IS_LESS_THAN_OR_EQUAL, IS_LESS_THAN, IS_NOT.
  • booleanValue (boolean): When the characteristic expects a boolean value, this specifies the value.
  • stringValue (array of string values): When the characteristic expects a string, this specifies the set of values.
  • numericValue (number): When the characteristic expects a numeric value, this specifies the number.
  • versionValue (string): When the characteristic expects a version number, this specifies it as a string.
  • matchCaseSensitive (boolean): When enabled, the match is case-sensitive for the stringValue field.
  • matchWildcard (boolean): When enabled, allows * and ? wildcard matches in the stringValue field.

Property Manager Name: Device Characteristics

fileExtension

Matches the requested filename’s extension, if present.

Options:

  • matchOperator (enum string): Matches the contents of values if set to IS_ONE_OF, otherwise IS_NOT_ONE_OF reverses the match.
  • values (array of string values): An array of file extension strings, with no leading dot characters, for example png, jpg, jpeg, and gif.
  • matchCaseSensitive (boolean): When enabled, the match is case-sensitive.

Property Manager Name: File Extension

filename

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

Options:

  • matchOperator (enum string): If set to IS_ONE_OF or IS_NOT_ONE_OF, matches whether the value matches. If set to IS_EMPTY or IS_NOT_EMPTY, matches whether the specified filename is part of the path.
  • values (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.
  • matchCaseSensitive (boolean): When enabled, the match is case-sensitive for the value field.

Property Manager Name: Filename

hostname

Matches the requested hostname.

Options:

  • matchOperator (enum string): Matches the contents of values when set to IS_ONE_OF, otherwise IS_NOT_ONE_OF reverses the match.
  • values (array of string values): A list of hostnames. Wildcards match, so *.example.com matches both m.example.com and www.example.com.

Property Manager Name: Hostname

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.
  • openXml (string): An XML string that opens the relevant block.
  • closeXml (string): An XML string that closes the relevant block.

Property Manager Name: Advanced Match

matchCpCode

Match the assigned content provider code.

Options:

  • value (object): Specifies an object that encodes the matching value, including an id key and a descriptive name:

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

Property Manager Name: Content Provider Code

matchResponseCode

Match a set or range of HTTP response codes.

Options:

  • matchOperator (enum string): Matches the contents of values if set to IS_ONE_OF, otherwise IS_NOT_ONE_OF reverses the match. If set to IS_BETWEEN, matches the numeric range between lowerBound and upperBound, otherwise IS_NOT_BETWEEN reverses the match.
  • values (array of string values): A set of response codes to match, for example ["404","500"].
  • lowerBound (number): Specifies the start of a range of responses when matchOperator is either IS_BETWEEN or IS_NOT_BETWEEN. For example, 400 to match anything from 400 to 500.
  • upperBound (number): Specifies the end of a range of responses when matchOperator is either IS_BETWEEN or IS_NOT_BETWEEN. For example, 500 to match anything from 400 to 500.

Property Manager Name: Response Status Code

matchVariable

Matches a built-in variable, or a custom variable pre-declared within the rule tree by the setVariable behavior.

See the Variables section for more information on this feature.

Options:

  • variableName (string): The name of the variable to match.
  • matchOperator (enum string): The type of match, based on which you use different options to specify the match criteria.

    • If set to IS or IS_NOT, specify a single variableExpression string.
    • If set to IS_GREATER_THAN, IS_LESS_THAN, IS_GREATER_THAN_OR_EQUAL_TO, or IS_LESS_THAN_OR_EQUAL_TO, specify a single variableExpression string.
    • If set to IS_BETWEEN or IS_NOT_BETWEEN, specify a range between numeric lowerBound and upperBound values.
    • If set to IS_ONE_OF or IS_NOT_ONE_OF, specify an array of string variableValues.
    • If set to IS_EMPTY or IS_NOT_EMPTY, no other option is required. These check if a defined variable contains a value. You can’t activate a rule that matches an undefined variable.
  • variableValues (array of string values): With matchOperator set to either IS_ONE_OF or IS_NOT_ONE_OF, specifies an array of matching strings.
  • variableExpression (string; allows variables): With matchOperator set to either IS or IS_NOT, specifies a single matching string.
  • lowerBound (string): With matchOperator set to either IS_BETWEEN or IS_NOT_BETWEEN, specifies the range’s numeric minimum value.
  • upperBound (string): With matchOperator set to either IS_BETWEEN or IS_NOT_BETWEEN, specifies the range’s numeric maximum value.
  • matchWildcard (boolean): When matching string expressions, enabling this matches wildcard metacharacters such as * and ?.
  • matchCaseSensitive (boolean): When matching string expressions, enabling this performs a case-sensitive match.

Property Manager Name: Variable

originTimeout

Matches when the origin responds with a timeout error.

Options:

  • matchOperator (enum string): Specifies a single required ORIGIN_TIMED_OUT value.

Property Manager Name: Origin Timeout

path

Matches the URL’s non-hostname path component.

Options:

  • matchOperator (enum string): Matches the contents of values when set to MATCHES_ONE_OF, otherwise DOES_NOT_MATCH_ONE_OF reverses the match.
  • values (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.
  • matchCaseSensitive (boolean): When enabled, the match is case-sensitive.

Property Manager Name: Path

queryStringParameter

Matches query string field names or values.

Options:

  • parameterName (string): The name of the query field, for example, q in ?q=string.
  • matchOperator (enum string): Narrows the match according to the following criteria:

    • EXISTS or DOES_NOT_EXIST tests whether the query field’s parameterName is present in the requesting URL.
    • IS_ONE_OF or IS_NOT_ONE_OF tests whether the field’s value string matches.
    • IS_LESS_THAN or IS_MORE_THAN matches ranges when the value is numeric.
    • IS_BETWEEN also matches numeric ranges, but considers lowerBound and upperBound fields rather than value.
  • values (array of string values): The value of the query field, for example, string in ?q=string.
  • lowerBound (number): When the value is numeric and the matchOperator is set to IS_BETWEEN, this field specifies the match’s minimum value.
  • upperBound (number): When the value is numeric and the matchOperator is set to IS_BETWEEN, this field specifies the match’s maximum value.
  • matchWildcardName (boolean): When enabled, allows * and ? wildcard matches in the parameterName field.
  • matchCaseSensitiveName (boolean): When enabled, the match is case-sensitive for the parameterName field.
  • matchWildcardValue (boolean): When enabled, allows * and ? wildcard matches in the value field.
  • matchCaseSensitiveValue (boolean): When enabled, the match is case-sensitive for the value field.
  • escapeValue (boolean): When enabled, matches when the value is URL-escaped.

Property Manager Name: Query String Parameter

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.

Property Manager Name: Sample Percentage

requestCookie

Match the cookie name or value passed with the request.

Options:

  • cookieName (string): The name of the cookie, for example, visitor in visitor:anon.
  • matchOperator (enum string): Narrows the match according to the following criteria:

    • EXISTS or DOES_NOT_EXIST tests whether the cookie cookieName exists.
    • IS or IS_NOT tests whether the field’s value string matches.
    • IS_BETWEEN tests whether a numeric cookie value falls between lowerBound and upperBound.
  • value (string): The cookie’s value, for example, anon in visitor:anon.
  • lowerBound (number): When the value is numeric and the matchOperator is set to IS_BETWEEN, this field specifies the match’s minimum value.
  • upperBound (number): When the value is numeric and the matchOperator is set to IS_BETWEEN, this field specifies the match’s maximum value.
  • matchWildcardName (boolean): When enabled, allows * and ? wildcard matches in the cookieName field.
  • matchCaseSensitiveName (boolean): When enabled, the match is case-sensitive for the cookieName field.
  • matchWildcardValue (boolean): When enabled, allows * and ? wildcard matches in the value field.
  • matchCaseSensitiveValue (boolean): When enabled, the match is case-sensitive for the value field.

Property Manager Name: Request Cookie

requestHeader

Match HTTP header names or values.

Options:

  • headerName (string): The name of the request header, for example Accept-Language.
  • matchOperator (enum string): Narrows the match according to the following criteria:

    • EXISTS or DOES_NOT_EXIST tests whether the field headerName exists.
    • IS_ONE_OF or IS_NOT_ONE_OF tests whether the field’s value string matches.
  • values (array of string values): The request header’s value, for example en-US when the header headerName is Accept-Language.
  • matchWildcardName (boolean): When enabled, allows * and ? wildcard matches in the headerName field.
  • matchWildcardValue (boolean): When enabled, allows * and ? wildcard matches in the value field.
  • matchCaseSensitiveValue (boolean): When enabled, the match is case-sensitive for the value field.

Property Manager Name: Request Header

requestMethod

Specify the request’s HTTP verb.

Options:

  • matchOperator (enum string): Matches the value when set to IS, otherwise IS_NOT reverses the match.
  • value (enum string): Any of the following HTTP methods: CONNECT, COPY, GET, HEAD, HTTP_DELETE, OPTIONS, POST, PUT, and TRACE. Also the following WebDAV headers: DAV_COPY, DAV_LOCK, DAV_MKCOL, DAV_MOVE, DAV_PROPFIND, DAV_PROPPATCH, and DAV_UNLOCK.

Property Manager Name: Request Method

requestProtocol

Matches whether the request uses the HTTP or HTTPS protocol.

Options:

  • value (enum string): Either HTTP or HTTPS.

Property Manager Name: Request Protocol

responseHeader

Match HTTP header names or values.

Options:

  • headerName (string): The name of the response header, for example Content-Type.
  • matchOperator (enum string): Narrows the match according to the following criteria:

    • EXISTS or DOES_NOT_EXIST tests whether the HTTP field headerName is present.
    • IS_ONE_OF or IS_NOT_ONE_OF tests whether the field’s value string matches.
    • IS_LESS_THAN or IS_MORE_THAN matches ranges when the value is numeric.
    • IS_BETWEEN also matches numeric ranges, but considers lowerBound and upperBound fields rather than value.
  • values (array of string values): The response header’s value, for example application/x-www-form-urlencoded when the header headerName is Content-Type.
  • lowerBound (number): When the value is numeric and the matchOperator is set to IS_BETWEEN, this field specifies the match’s minimum value.
  • upperBound (number): When the value is numeric and the matchOperator is set to IS_BETWEEN, this field specifies the match’s maximum value.
  • matchWildcardName (boolean): When enabled, allows * and ? wildcard matches in the headerName field.
  • matchWildcardValue (boolean): When enabled, allows * and ? wildcard matches in the value field.
  • matchCaseSensitiveValue (boolean): When enabled, the match is case-sensitive for the value field.

Property Manager Name: Response Header

time

Specifies ranges of times during which the request occurred.

Options:

  • matchOperator (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.
  • applyDaylightSavingsTime (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.
  • 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.

Property Manager Name: Time Interval

tokenAuthorization

Match on Auth Token 2.0 verification results.

Options:

  • matchOperator (enum string): Either IS_SUCCESS if there are no errors, IS_CUSTOM_FAILURE for any errors specified by statusList, or IS_ANY_FAILURE if there are any errors.
  • statusList (array of string values): Match specific failure cases:
EXPIRED_TOKEN
INVALID_ACL_DELIMITER
INVALID_DELIMITER
INVALID_HMAC
INVALID_HMAC_KEY
INVALID_IP
INVALID_TOKEN
INVALID_URL
MISSING_EXPIRATION_TIME
MISSING_TOKEN
MISSING_URL
NEED_URL_XOR_ACL
TOKEN_NOT_VALID_YET
UNAUTHORIZED_IP
UNAUTHORIZED_URL
UNSUPPORTED_VERSION

Property Manager Name: Token Verification Result

userAgent

Matches the user agent string that helps identify the client browser and device.

Options:

  • matchOperator (enum string): Matches the specified set of values when set to IS_ONE_OF, otherwise IS_NOT_ONE_OF reverses the match.
  • values (array of string values): The User-Agent header’s value. For example, Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1).
  • matchWildcard (boolean): When enabled, allows * and ? wildcard matches in the value field. For example, *Android*, *iPhone5*, *Firefox*, or *Chrome*.
  • matchCaseSensitive (boolean): When enabled, the match is case-sensitive for the value field.

Property Manager Name: User Agent

userLocation

The client browser’s approximate geographic location, determined by looking up the IP address in a database.

Options:

  • field (enum string): Indicates the geographic scope: CONTINENT, COUNTRY, or REGION for states or provinces within a country.
  • matchOperator (enum string): Matches the specified set of values when set to IS_ONE_OF, otherwise IS_NOT_ONE_OF reverses the match.
  • countryValues (array of string values): ISO 3166–1 country code, such as US or CN.
  • continentValues (array of string values): Continent code, one of AF (Africa), AS (Asia), EU (Europe), NA (North America), SA (South America), OC (Oceania), or OT (Antarctica).
  • regionValues (array of string values): ISO 3166 country and region codes, for example US:MA for Massachusetts or JP:13 for Tokyo.
  • checkIps (enum string): Specifies which IP addresses determine the user’s location:

    • CONNECTING considers the connecting client’s IP address.
    • 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.
  • useOnlyFirstXForwardedForIp (boolean): When connecting via a proxy server as determined by the X-Forwarded-For header, enabling this option matches the end client specified in the header. Disabling it matches the connecting client’s IP address.

Property Manager Name: User Location Data

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 BANDWIDTH, a specific NETWORK, or a more general NETWORK_TYPE.
  • matchOperator (enum string): Matches the specified set of values when set to IS_ONE_OF, otherwise IS_NOT_ONE_OF reverses the match.
  • networkTypeValues (array of string values): Specifies the basic type of network, either CABLE, DIALUP, DSL, FIOS, ISDN, MOBILE, or UVERSE.
  • networkValues (array of string values): Any set of specific networks:
airtel
alpha_internet
altitudetelecom
aol
arnet
asahi
att
bellcanada
biglobe
bitmailer
bouygues
brighthouse
bskyb
bt
cablevision
cernet
chinamobile
chinanet
chinaunicom
clearwire
colt
comcast
completel
compuserve
covad
dion
dreamnet
dtag
dti
earthlink
easynet
eurociber
fastweb
fibertel
francetelecom
free
freecom
h3g
hinet
ibm
idecnet
iij4u
infosphere
janet
jazztell
justnet
livedoor
mci
mediacom
mediaone
microsoft
mil
nerim
newnet
@nifty
numericable
ocn
odn
ono
panasonic-hi-ho
plala
plusnet
prodigy
qwest
rediris
renater
reserved
retevision
roadrunner
rogers
seednet
seikyo_internet
sfr
shaw
so-net
sprint
suddenlink
talktalk
telefonica
telstra
terramexico
ti
tikitiki
timewarner
tiscali
tmobile
turktelekom
uni2
uninet
upc
uunet
verizon
virginmedia
vodafone
wakwak
wind
windstream
zero
  • bandwidthValues (array of string values): Bandwidth range in bits per second, either 1, 57, 257, 1000, 2000, or 5000.
  • checkIps (enum string): Specifies which IP addresses determine the user’s network:

    • CONNECTING considers the connecting client’s IP address.
    • 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.
  • useOnlyFirstXForwardedForIp (boolean): When connecting via a proxy server as determined by the X-Forwarded-For header, enabling this option matches the end client specified in the header. Disabling it matches the connecting client’s IP address.

Property Manager Name: User Network Data

variableError

Matches any runtime errors that occur on edge servers based on the configuration of a setVariable behavior. See the Variables section for more information on this feature.

Options:

  • result (boolean): When enabled, matches errors for the specified set of variableNames, otherwise matches errors from variables outside that set.
  • variableNames (string): The name of the variable whose error triggers the match, or a space- or comma-delimited list of more than one variable name. Note that if you define a variable named VAR, the name in this field must appear with its added prefix as PMUSER_VAR. When such a variable is inserted into other fields, it appears with an additional namespace as {{user.PMUSER_VAR}}. See the setVariable for details on variable names.

Property Manager Name: Variable Error


Last modified: 6/27/2017