Property Manager API Behaviors

The following represents all rule behaviors 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 Behaviors 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:

adaptiveAcceleration

With the http2 and realUserMonitoring features enabled, uses HTTP/2 server push to preposition content and improve the performance of HTML page loading based on Real User Monitoring (RUM) timing data. Also use this feature to allow browsers to preconnect to content likely needed for upcoming requests.

You can apply the feature’s default settings, and use the Adaptive Acceleration API to see which set of assets were included in the default push or preconnect. Based on this data, you can also use this feature to supplement or exclude items from the default set. You refer to these assets flexibly as wildcard-enabled substrings that may reference path or URL components, for example: news/index.html or http://example.com/news/*.

Options:

  • enablePush (boolean): Enables adaptive acceleration’s HTTP/2 server push feature.
  • useDefaultPush (boolean): When enabled along with enablePush, uses default RUM-based analysis to determine which content to push to the browser.
  • pagePushMode (enum string): With useDefaultPush disabled, determines how to customize the set of pages to push, where page refers to the primary content users load in their browsers. The value can be INCLUDE_PAGE to specify pages to include along with those already pushed by default, or EXCLUDE_PAGE to specify pages to exclude from the default set. A value of DEFAULT removes all custom pages from the analysis, effectively reverting to the default RUM-based server push.
  • pagesIncludedInPush (array of string values): With useDefaultPush disabled and pagePushMode set to INCLUDE_PAGE, specifies the set of pages to include along with the default push set, using the flexible path/URL wildcard syntax described above.
  • pagesExcludedFromPush (array of string values): With useDefaultPush disabled and pagePushMode set to EXCLUDE_PAGE, specifies pages to exclude from the default push set, using the flexible path/URL wildcard syntax described above.
  • resourcePushMode (enum string): With useDefaultPush disabled, determines how to customize the set of resources to push, where resource refers to secondary content referenced from within pages. Set this to EXCLUDE_RESOURCE to remove a set of file dependencies from the set pushed by default. A value of DEFAULT effectively reverts to the default set of pushed resources based on analysis of RUM data.
  • resourcesExcludedFromPush (array of string values): With useDefaultPush disabled and resourcePushMode set to EXCLUDE_RESOURCE, specifies secondary file dependencies to exclude from the default push set.
  • enablePreconnect (boolean): When enabled, allows browsers to open HTTP/2 connections to web pages before making requests.
  • useDefaultPreconnect (boolean): With enablePreconnect on, enabling this uses default RUM-based analysis to determine which pages to preconnect to.
  • pagePreconnectMode (enum string): With enablePreconnect on and useDefaultPreconnect disabled, determines how to customize the set of pages to preconnect to, where page refers to the primary content users load in their browsers. The value can be INCLUDE_PAGE to specify pages to include along with those already preconnected by default, or EXCLUDE_PAGE to specify pages to exclude from the default set. A value of DEFAULT removes all custom pages from the analysis, effectively reverting to the default RUM-based preconnect set.
  • pagesIncludedInPreconnect (array of string values): With useDefaultPreconnect disabled and pagePreconnectMode set to INCLUDE_PAGE, specifies the set of pages to include along with the default preconnect set, using the flexible path/URL wildcard syntax described above.
  • pagesExcludedFromPreconnect (array of string values): With useDefaultPreconnect disabled and pagePreconnectMode set to EXCLUDE_PAGE, specifies the set of pages to exclude from the default preconnect set, using the flexible path/URL wildcard syntax described above.
  • domainPreconnectMode (enum string): With useDefaultPreconnect disabled, determines how to customize the set of domains to preconnect to. When set to EXCLUDE_DOMAIN, allows you to specify a set of domains to exclude from preconnect. A value of DEFAULT removes all custom domains from the analysis, effectively reverting to the default preconnect set.
  • domainsExcludedFromPreconnect (array of string values): With useDefaultPreconnect disabled and domainPreconnectMode set to EXCLUDE_DOMAIN, specifies the set of domains to exclude from the default RUM-based preconnect set. Like pages and resources, specify flexible wilcard-enabled substrings, for example: subdomain.example.com or http://www.*.domain?.example.com.

Property Manager Name: Adaptive Acceleration

adaptiveImageCompression

The Adaptive Image Compression feature compresses JPEG images depending on the requesting network’s performance, thus improving response time. The behavior specifies three performance tiers based on round-trip tests: 1 for excellent, 2 for good, and 3 for poor. It assigns separate performance criteria for mobile (cellular) and non-mobile networks, which the compressMobile and compressStandard options enable independently.

There are six method options, one for each tier and type of network. If the method is COMPRESS, choose from among the six corresponding slider options to specify a percentage. As an alternative to compression, setting the method to STRIP removes unnecessary application-generated metadata from the image. Setting the method to BYPASS serves clients the original image.

The behavior serves ETags headers as a data signature for each adapted variation. In case of error or if the file size increases, the behavior serves the original image file. Flushing the original image from the edge cache also flushes adapted variants. The behavior applies to the following image file extensions: jpg, jpeg, jpe, jif, jfif, and jfi.

Options:

  • compressMobile (boolean): When enabled, adapts images served over cellular mobile networks.
  • compressStandard (boolean): When enabled, adapts images served over non-cellular networks.
  • tier1StandardCompressionMethod (enum string): Specifies tier–1 non-cellular network behavior, either COMPRESS, STRIP, or BYPASS.
  • tier1StandardCompressionValue (number within 0–100 range): With tier1StandardCompressionMethod set to COMPRESS, this specifies the compression percentage.
  • tier2StandardCompressionMethod (enum string): Specifies tier–2 non-cellular network behavior, either COMPRESS, STRIP, or BYPASS.
  • tier2StandardCompressionValue (number within 0–100 range): With tier2StandardCompressionMethod set to COMPRESS, this specifies the compression percentage.
  • tier3StandardCompressionMethod (enum string): Specifies tier–5 non-cellular network behavior, either COMPRESS, STRIP, or BYPASS.
  • tier3StandardCompressionValue (number within 0–100 range): With tier3StandardCompressionMethod set to COMPRESS, this specifies the compression percentage.
  • tier1MobileCompressionMethod (enum string): Specifies tier–1 behavior, either COMPRESS, STRIP, or BYPASS.
  • tier1MobileCompressionValue (number within 0–100 range): With tier1MobileCompressionMethod set to COMPRESS, this specifies the compression percentage.
  • tier2MobileCompressionMethod (enum string): Specifies tier–2 cellular-network behavior, either COMPRESS, STRIP, or BYPASS.
  • tier2MobileCompressionValue (number within 0–100 range): With tier2MobileCompressionMethod set to COMPRESS, this specifies the compression percentage.
  • tier3MobileCompressionMethod (enum string): Specifies tier–5 cellular-network behavior, either COMPRESS, STRIP, or BYPASS.
  • tier3MobileCompressionValue (number within 0–100 range): With tier3MobileCompressionMethod set to COMPRESS, this specifies the compression percentage.

Property Manager Name: Adaptive Image Compression

advanced

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

Options:

  • description (string): Human-readable description of what the XML block does.
  • xml (string): Akamai XML metadata.

Property Manager Name: Advanced

akamaizer

This read-only behavior allows you to run regular expression substitutions over web pages. Contact Akamai Professional Services for help configuring the Akamaizer. See also the akamaizerTag behavior.

Options:

  • enabled (boolean): Enables the Akamaizer behavior.

Property Manager Name: Akamaizer

akamaizerTag

This read-only behavior specifies HTML tags and replacement rules for hostnames used in conjunction with the akamaizer behavior. Contact Akamai Professional Services for help configuring the Akamaizer.

Options:

  • matchHostname (string): Specifies the hostname to match on as a Perl-compatible regular expression.
  • replacementHostname (string): Specifies the replacement hostname for the tag to use.
  • scope (enum string): Specifies the part of HTML content the tagsAttribute refers to:

    • ATTRIBUTE for when tagsAttribute refers to a tag/attribute pair, the match only applies to the attribute.
    • URL_ATTRIBUTE is the same as ATTRIBUTE, but applies when the attribute value is a URL. In that case, it converts to an absolute URL prior to substitution.
    • BLOCK substitutes within the tag’s contents, but not within any nested tags.
    • PAGE ignores the tagsAttribute field and performs the substitution on the entire page.
  • tagsAttribute (enum string): Specifies the tag or tag/attribute combination to operate on, any of the following:
A
A_HREF
AREA
AREA_HREF
BASE
BASE_HREF
FORM
FORM_ACTION
IFRAME
IFRAME_SRC
IMG
IMG_SRC
LINK
LINK_HREF
SCRIPT
SCRIPT_SRC
TABLE
TABLE_BACKGROUND
TD
TD_BACKGROUND
  • replaceAll (boolean): Replaces all matches when enabled, otherwise replaces only the first match.
  • includeTagsAttribute (boolean): Whether to include the tagsAttribute value.

Property Manager Name: Akamaize Tag

allHttpInCacheHierarchy

Allow all HTTP request methods to be used for the edge’s parent servers, useful to implement features such as SiteShield, SureRoute, and Tiered Distribution. (See the siteShield, sureRoute, and tieredDistribution behaviors.)

Options:

  • enabled (boolean): Enables all HTTP requests for parent servers in the cache hierarchy.

Property Manager Name: Allow All Methods on Parent Servers

allowCloudletsOrigins

Allows Cloudlets Origins to determine the criteria, separately from the Property Manager, under which alternate origin definitions are assigned.

This behavior must appear alone within its own rule. When enabled, it allows any cloudletsOrigin criteria within sub-rules to override the prevailing origin.

Options:

  • enabled (boolean): Allows you to assign custom origin definitions referenced in sub-rules by cloudletsOrigin labels. If disabled, all sub-rules are ignored.
  • honorBaseDirectory (boolean): If enabled, prefixes any Cloudlet-generated origin path with a path defined by an Origin Base Path behavior. If no path is defined, it has no effect. If another Cloudlet policy already prepends the same Origin Base Path, the path is not duplicated.
  • purgeOriginQueryParameter (string): When purging content from a Cloudlets Origin, this specifies a query parameter name whose value is the specific named origin to purge. Note that this only applies to content purge requests, for example when using the Content Control Utility API.

Property Manager Name: Allow Cloudlets Origins

allowDelete

Allow HTTP requests using the DELETE method. By default, only GET and HEAD requests are allowed, and all other methods result in a 403 error. Such content does not cache, and any DELETE requests pass to the origin. See also allowPost, allowPut, and allowPatch.

Options:

  • enabled (boolean): When enabled, allows DELETE requests. Content does not cache.

Property Manager Name: Allow DELETE

allowPatch

Allow HTTP requests using the PATCH method. By default, only GET and HEAD requests are allowed, and all other methods result in a 403 error. Such content does not cache, and any PATCH requests pass to the origin. See also allowPut, allowPost, and allowDelete.

Options:

  • enabled (boolean): When enabled, allows PATCH requests. Content does not cache.

Property Manager Name: Allow PATCH

allowPost

Allow HTTP requests using the POST method. By default, only GET and HEAD are allowed, and all other methods result in a 403 error. See also allowPut, allowDelete, and allowPatch.

Options:

  • enabled (boolean): When enabled, allows POST requests.
  • allowWithoutContentLength (boolean): By default, POST requests also require a Content-Length header, or they result in a 411 error. With this option enabled with no specified Content-Length, the edge server relies on a Transfer-Encoding header to chunk the data. If neither header is present, it assumes the request has no body, and it adds a header with a 0 value to the forward request.

Property Manager Name: Allow POST

allowPut

Allow HTTP requests using the PUT method. By default, only GET and HEAD are allowed, and all other methods result in a 403 error. Such content does not cache, and any PUT requests pass to the origin. See also allowPost, allowDelete, and allowPatch.

Options:

  • enabled (boolean): When enabled, allows PUT requests. Content does not cache.

Property Manager Name: Allow PUT

allowTransferEncoding

Controls whether to allow or deny Chunked Transfer Encoding (CTE) requests to pass to your origin. If your origin supports CTE, you should enable this behavior. This behavior also protects against a known issue when pairing http2 and webdav behaviors within the same rule tree, in which case it is required.

Options:

  • enabled (boolean): Allows Chunked Transfer Encoding requests.

Property Manager Name: Chunked Transfer Encoding

apiPrioritization

Enables the API Prioritization Cloudlet, which maintains continuity in user experience by serving an alternate static response when load is too high. You can configure rules using either the Cloudlets Policy Manager application or the Cloudlets API. The feature is designed to serve static API content, such as fallback JSON data. To serve non-API HTML content, use the visitorPrioritization behavior.

Options:

  • enabled (boolean): Activates the API Prioritization feature.
  • cloudletPolicy (object): Identifies the Cloudlet policy in an object featuring unique numeric id and descriptive string name members.
  • label (string): A label to distinguish this API Prioritization policy from any others in the same property.
  • useThrottledCpCode (boolean): Specifies whether to apply an alternative CP code for requests served the alternate response.
  • throttledCpCode (object): With useThrottledCpCode enabled, this specifies the CP code as an object:

    "throttledCpCode": {
        "id"   : 12345,
        "name" : "sent to waiting room"
    }
    
  • useThrottledStatusCode (boolean): When enabled, allows you to assign a specific HTTP response code to a throttled request.
  • throttledStatusCode (number): With change_response_code enabled, specifies the HTTP response code for requests that receive the alternate response.
  • netStorage (object): Specify the NetStorage domain that contains the alternate response. For example:

    "netStorage": {
        "id"                 : "id_string",
        "name"               : "Waiting Room",
        "downloadDomainName" : "example.wait.akamai.com",
        "cpCode"             : 12345
    }
    
  • netStoragePath (string): Specify the full NetStorage path for the alternate response, including trailing file name.
  • alternateResponseCacheTtl (number within 5–30 range): Specifies the alternate response’s time to live in the cache, 5 minutes by default.

Property Manager Name: API Prioritization Cloudlet

applicationLoadBalancer

Enables the Application Load Balancer Cloudlet, which automates load balancing based on configurable criteria. To configure this behavior, use either the Cloudlets Policy Manager or the Cloudlets API to set up a policy.

Options:

  • enabled (boolean): Activates the Application Load Balancer Cloudlet.
  • cloudletPolicy (object): Identifies the Cloudlet policy in an object featuring unique numeric id and descriptive string name members.
  • label (string): A label to distinguish this Application Load Balancer policy from any others within the same property.
  • stickinessCookieType (enum string): Determines how a cookie persistently associates the client with a load-balanced origin. Specify an overall DURATION or a FIXED_DATE for when the cookie expires. Specify ON_BROWSER_CLOSE to limit the cookie duration to browser sessions. (After the cookie expires, the cookie type re-evaluates.) To preserve the cookie indefinitely, specify NEVER. To dynamically reassign different load-balanced origins for each request, specify NONE.
  • stickinessExpirationDate (ISO 8601 format date/time string): With stickinessCookieType set to FIXED_DATE, this specifies when the cookie expires.
  • stickinessDuration (duration string): With stickinessCookieType set to DURATION, sets how long it is before the the cookie expires.
  • stickinessRefresh (boolean): With stickinessCookieType set to DURATION, enabling this extends the duration of the cookie with each new request. When enabled, the DURATION thus specifies the latency between requests that would cause the cookie to expire.
  • allDownNetStorage (object): Specifies a NetStorage account for a static maintenance page as a fallback when no origins are available. This example shows the object’s structure:

    "allDownNetStorage": {
        "id"                 : "uniq_id",
        "name"               : "Download Area",
        "downloadDomainName" : "download.example.akamai.com",
        "cpCode"             : 12345
    }
    
  • allDownNetStorageFile (string): Specifies the fallback maintenance page’s filename, expressed as a full path from the root of the NetStorage server.
  • allDownStatusCode (string): Specifies the HTTP response code when all load-balancing origins are unavailable.
  • failoverStatusCodes (array of string values): Specifies a set of HTTP status codes that signal a failure on the origin, in which case the cookie that binds the client to that origin is invalidated and the client is rerouted to another available origin.
  • failoverAutomatic (boolean): When enabled, automatically selects an available origin when another origin referenced with a sticky cookie fails.
  • failoverOriginMap (array): With failoverAutomatic disabled, this specifies a fixed set of failover mapping rules. If the origin identified by fromOriginId fails, requests stuck to that origin are re-tried for each alternate origin toOriginIds specifies, until one succeeds:

    "failoverOriginMap" : [
        {
            "fromOriginId": "origin1",
            "toOriginIds": [ "origin2", "origin3" ]
        }
    ]
    
  • allowCachePrefresh (boolean): When enabled, allows the cache to prefresh. Only appropriate if all origins serve the same content for the same URL.

Property Manager Name: Application Load Balancer Cloudlet

audienceSegmentation

Allows you to divide your users into different segments based on a persistent cookie. You can configure rules using either the Cloudlets Policy Manager application or the Cloudlets API.

Options:

  • enabled (boolean): Enables the Audience Segmentation cloudlet feature.
  • cloudletPolicy (object): Identifies the Cloudlet policy in an object featuring unique numeric id and descriptive string name members.
  • label (string): Specifies a suffix to append to the cookie name. This helps distinguish this audience segmentation policy from any others within the same property.
  • segmentTrackingMethod (enum string): Specifies the method to pass segment information to the origin. The Cloudlet passes the rule applied to a given request either IN_COOKIE_HEADER, IN_QUERY_PARAM, IN_CUSTOM_HEADER, or the default, NONE.
  • segmentTrackingQueryParam (string): With segmentTrackingMethod set to IN_QUERY_PARAM, this query parameter specifies the name of the segmentation rule.
  • segmentTrackingCookieName (string): With segmentTrackingMethod set to IN_COOKIE_HEADER, this cookie name specifies the name of the segmentation rule.
  • segmentTrackingCustomHeader (string): With segmentTrackingMethod set to IN_CUSTOM_HEADER, this custom HTTP header specifies the name of the segmentation rule.
  • populationCookieType (enum string): Specifies when the segmentation cookie expires, either ON_BROWSER_CLOSE, NEVER, or based on a specific DURATION.
  • populationDuration (duration string): With populationCookieType set to DURATION, specifies the lifetime of the segmentation cookie.
  • populationRefresh (boolean): If disabled, sets the expiration time only if the cookie is not yet present in the request.

Property Manager Name: Audience Segmentation Cloudlet

baseDirectory

Prefix URLs sent to the origin with a base path.

For example, with an origin of example.com, setting the value to /images sets the origin’s base path to example.com/images. Any request for a my_pics/home.jpg file resolves on the origin server to example.com/images/my_pics/home.jpg.

Note that changing the origin’s base path also causes a change to the cache key. Until that resolves, it may cause a traffic spike to your origin server.

Options:

  • value (string; allows variables): Specifies the base path of content on your origin server. The value must begin and end with a slash (/) character, for example /parent/child/.

Property Manager Name: Origin Base Path

breakConnection

A read-only behavior that simulates an origin connection problem, typically to test an accompanying failAction policy.

Options:

  • enabled (boolean): Enables the break connection behavior.

Property Manager Name: Break Forward Connection

cacheError

Caches the origin’s error responses to decrease server load. Applies for 10 seconds by default to the following HTTP codes: 204, 305, 400, 404, 405, 501, 502, 503, 504, and 505.

Options:

  • enabled (boolean): When enabled, activates the error-caching behavior.
  • ttl (duration string): Overrides the default caching duration of 10s. Note that if set to 0, it is equivalent to no-cache, which forces revalidation and may cause a traffic spike. This can be counterproductive when, for example, the origin is producing an error code of 500.
  • preserveStale (boolean): When enabled, the edge server preserves stale cached objects when the origin returns 400, 500, 502, 503, and 504 error codes. This avoids re-fetching and re-caching content after transient errors.

Property Manager Name: Cache HTTP Error Responses

cacheId

Controls which query parameters, headers, and cookies are included in or excluded from the cache identifier.

Options:

  • rule (enum string): Specifies how to modify the cache ID:

    • INCLUDE_HEADERS includes specified HTTP headers in the cache ID.
    • INCLUDE_COOKIES includes specified cookies in the cache ID.
    • INCLUDE_ALL_QUERY_PARAMS includes all query parameters when forming a cache ID.
    • INCLUDE_QUERY_PARAMS includes the specified set of query parameters when forming a cache ID.
    • EXCLUDE_QUERY_PARAMS excludes the specified set of query parameters when forming a cache ID.
    • INCLUDE_VARIABLE includes a specific user variable in the cache ID.
    • INCLUDE_URL includes the full URL, the same as the default without the cacheid behavior.
  • includeValue (boolean): When enabled, includes the value of the specified elements in the cache ID. Otherwise only their names are included.
  • optional (boolean): When enabled, requires the behavior’s specified elements to be present for content to cache. When disabled, requests that lack the specified elements are still cached. This option only applies when the type is INCLUDE_COOKIES, INCLUDE_QUERY_PARAMS, INCLUDE_HEADERS, or EXCLUDE_QUERY_PARAMS.
  • elements (array of string values): Specifies the names of the query parameters, cookies, or headers to include or exclude from the cache ID. This only applies when the rule is INCLUDE_COOKIES, INCLUDE_HEADERS, INCLUDE_QUERY_PARAMS, or EXCLUDE_QUERY_PARAMS.
  • variableName (string): With rule set to INCLUDE_VARIABLE, specifies the name of the variable you want to include in the cache key.

Property Manager Name: Cache ID Modification

cacheKeyIgnoreCase

By default, cache keys are generated under the assumption that path and filename components are case-sensitive, so that File.html and file.html use separate cache keys. Enabling this behavior forces URL components whose case varies to resolve to the same cache key. Enable this behavior if your origin server is already case-insensitive, such as those based on Microsoft IIS.

With this behavior enabled, make sure any child rules do not match case-sensitive path components, or you may apply different settings to the same cached object.

Note that if already enabled, disabling this behavior potentially results in new sets of cache keys. Until these new caches are built, your origin server may experience traffic spikes as requests pass through. It may also result in cache pollution, excess cache space taken up with redundant content.

If you are using NetStorage in conjunction with this behavior, also set NetStorage’s Force Case option to match it, and make sure you name the original files consistently as either upper- or lowercase.

Options:

  • enabled (boolean): When enabled, ignores case when forming cache keys.

Property Manager Name: Ignore Case In Cache Key

cacheKeyQueryParams

By default, cache keys are formed as URLs with full query strings. This behavior allows you to consolidate cached objects based on specified sets of query parameters.

Note also that whenever you apply behavior that generates new cache keys, your origin server may experience traffic spikes before the new cache starts to serve out.

Options:

  • behavior (enum string): Configures how sets of query string parameters translate to cache keys:

    • IGNORE_ALL causes query string parameters to be ignored when forming cache keys.
    • IGNORE or INCLUDE makes the key depend on the sequence of values in the parameters field.
    • INCLUDE_ALL_PRESERVE_ORDER forms a separate key for the entire set of query parameters, but sensitive to the order in which they appear. (For example, ?q=akamai&state=ma and ?state=ma&q=akamai cache separately.)
    • INCLUDE_ALL_ALPHABETIZE_ORDER forms keys for the entire set of parameters, but the order doesn’t matter. The examples above both use the same cache key.

    Be careful when applying behavior not to ignore any parameters that result in substantially different content, as it is not reflected in the cached object.

  • parameters (array of string values): With behavior set to INCLUDE or IGNORE, parameters specifies the set of parameter field names to include in or exclude from the cache key. By default, these match the field names as string prefixes.
  • exactMatch (boolean): When enabled, parameters must match exactly. Keep disabled to match string prefixes.

Property Manager Name: Cache Key Query Parameters

cacheKeyRewrite

This read-only behavior rewrites a default cache key’s path. Contact Akamai Professional Services for help configuring it.

WARNING: This feature is in Beta, so please test thoroughly.

Options:

  • purgeKey (string): Specifies the new cache key path as an alphanumeric value.

Property Manager Name: Cache Key Path Rewrite

cachePost

By default, POST requests are passed to the origin. This behavior overrides the default, and allows you to cache POST responses.

Options:

  • enabled (boolean): Enables caching of POST responses.
  • useBody (enum string): Define how and whether to use the POST message body as a cache key:

    • IGNORE uses only the URL to cache the response.
    • MD5 adds a string digest of the data as a query parameter to the cache URL.
    • QUERY adds the raw request body as a query parameter to the cache key, but only if the POST request’s Content-Type is application/x-www-form-urlencoded. (Use this in conjunction with cacheId to define relevant query parameters.)

Property Manager Name: Cache POST Responses

cacheRedirect

Caches HTTP 302 redirect responses. By default, Akamai edge servers cache HTTP 302 redirects depending on their Cache-Control or Expires Headers. Enabling this behavior instructs edge servers to cache 302 redirects the same as they would for HTTP 200 responses.

Options:

  • enabled (boolean): Enables the redirect caching behavior.

Property Manager Name: Cache HTTP Redirects

caching

Control content caching on edge servers: whether or not to cache, whether to honor the origin’s caching headers, and for how long to cache. Note that any NO_STORE or BYPASS_CACHE HTTP headers set on the origin’s content overrides this behavior.

Options:

  • behavior (enum string): Specify the caching option:

    • NO_STORE clears the cache and serves from the origin.
    • BYPASS_CACHE retains the cache but serves from the origin.
    • Honor the origin’s MAX_AGE header
    • Honor the origin’s CACHE_CONTROL header
    • Honor the origin’s EXPIRES header
    • Honor CACHE_CONTROL_AND_EXPIRES the origin’s CACHE_CONTROL and EXPIRES header, whichever comes last.
  • mustRevalidate (boolean): Determines what to do once the cached content has expired, by which time the Akamai platform should have re-fetched and validated content from the origin. If enabled, only allows the re-fetched content to be served. If disabled, may serve stale content if the origin is unavailable.
  • ttl (duration string): The maximum time content may remain cached. Setting the value to 0 is the same as setting a no-cache header, which forces content to revalidate.
  • defaultTtl (duration string): Set the MAX_AGE header for the cached content.

Property Manager Name: Caching

centralAuthorization

Forward client requests to the origin server for authorization, along with optional Set-Cookie headers, useful when you need to maintain tight access control. The edge server forwards an If-Modified-Since header, to which the origin needs to respond with a 304 (Not-Modified) HTTP status when authorization succeeds. If so, the edge server responds to the client with the cached object, since it does not need to be re-acquired from the origin.

Options:

  • enabled (boolean): Enables the centralized authorization behavior.

Property Manager Name: Centralized Authorization

chaseRedirects

Controls whether the edge server chases any redirects served from the origin.

Options:

  • enabled (boolean): When enabled, allows edge servers to chase redirects.
  • limit (string): Specifies, as a string, the maximum number of redirects to follow.
  • serve404 (boolean): Once the redirect limit is reached, enabling this option serves an HTTP 404 (Not Found) error instead of the last redirect.

Property Manager Name: Chase Redirects

clientCharacteristics

Specifies characteristics of the client ecosystem. Akamai uses this information to optimize your metadata configuration, which may result in better end-user performance.

See also these related behaviors: contentCharacteristics, contentCharacteristicsAMD, contentCharacteristicsDD, and originCharacteristics.

Options:

  • country (enum string): Specifies the client request’s geographic region, or UNKNOWN to defer any optimizations based on geography. Possible global regions are GLOBAL, GLOBAL_ASIA_CENTRIC, GLOBAL_EU_CENTRIC, or GLOBAL_US_CENTRIC. Mpre specific regions include ASIA_PACIFIC, AUSTRALIA, EUROPE, GERMANY, INDIA, ITALY, JAPAN, NORDICS, NORTH_AMERICA, SOUTH_AMERICA, TAIWAN, or UNITED_KINGDOM.

Property Manager Name: Client Characteristics

constructResponse

A read-only behavior that constructs an HTTP response, complete with HTTP status code and body, to serve from the edge independently of your origin. Contact Akamai Professional Services for help configuring it.

Options:

  • enabled (boolean): When enabled, serves the custom response. Enabling the behavior evicts the cached object associated with the request, since it is not being served.
  • body (string; allows variables): HTML response of up to 2000 characters to send to the end-user client.
  • responseCode (numeric enum): The HTTP response code to send to the end-user client, either 200 or 404.

Property Manager Name: Construct Response

contentCharacteristics

Specifies characteristics of the delivered content. Akamai uses this information to optimize your metadata configuration, which may result in better origin offload and end-user performance.

This behavior is customized for a specific product set. See the related contentCharacteristicsDD and contentCharacteristicsAMD behaviors, along with the List Available Behaviors operation to determine which are available to you. See also the related clientCharacteristics and originCharacteristics behaviors.

Options:

  • objectSize (enum string): Optimize based on the size of the object retrieved from the origin, either LESS_THAN_1MB, ONE_MB_TO_TEN_MB, TEN_MB_TO_100_MB, or UNKNOWN to defer this optimization.
  • popularityDistribution (enum string): Optimize based on the content’s expected popularity, either ALL_POPULAR for a high volume of requests over a short period, LONG_TAIL for a low volume of requests over a long period, or UNKNOWN to defer this optimization.
  • catalogSize (enum string): Optimize based on the total size of the content library delivered, either SMALL (under 100GB), MEDIUM (100GB–1TB), LARGE (1TB–100TB), EXTRA_LARGE (more than 100TB), or UNKNOWN to defer this optimization.
  • contentType (enum string): Optimize based on the type of content, either SOFTWARE, IMAGES, WEB_OBJECTS (generally, media delivered for websites), USER_GENERATED (generally, user-generated media), OTHER_OBJECTS for content that doesn’t fall under any of these categories, or UNKNOWN, to defer this optimization.

Property Manager Name: Content Characteristics

contentCharacteristicsAMD

Specifies characteristics of the delivered content. Akamai uses this information to optimize your metadata configuration, which may result in better origin offload and end-user performance.

This behavior is customized for a specific product set. See the related contentCharacteristics and contentCharacteristicsDD behaviors, along with the List Available Behaviors operation to determine which are available to you. See also the related clientCharacteristics and originCharacteristics behaviors.

Options:

  • catalogSize (enum string): Optimize based on the total size of the content library delivered, either SMALL (under 100GB), MEDIUM (100GB–1TB), LARGE (1TB–100TB), EXTRA_LARGE (more than 100TB), or UNKNOWN to defer this optimization.
  • contentType (enum string): Optimize based on the quality of media content, either SD (standard definition), HD (high definition), ULTRA_HD, OTHER for more than one level of quality, or UNKNOWN to defer this optimization.
  • popularityDistribution (enum string): Optimize based on the content’s expected popularity, either ALL_POPULAR for a high volume of requests over a short period, LONG_TAIL for a low volume of requests over a long period, or UNKNOWN to defer this optimization.
  • hls (boolean): Enable delivery of HLS media.
  • segmentDurationHLS (enum string): With the hls option enabled, specifies the duration of individual segments, either SEGMENT_DURATION_2S, SEGMENT_DURATION_4S, SEGMENT_DURATION_6S, SEGMENT_DURATION_8S, or SEGMENT_DURATION_10S.
  • segmentSizeHLS (enum string): With the hls option enabled, specifies the size of the media object retrieved from the origin, either: LESS_THAN_1MB, ONE_MB_TO_TEN_MB, TEN_MB_TO_100_MB, GREATER_THAN_100MB, OTHER for sizes that straddle these ranges, or UNKNOWN to defer this optimization.
  • hds (boolean): Enable delivery of HDS media.
  • segmentDurationHDS (enum string): With the hds option enabled, specifies the duration of individual fragments, either SEGMENT_DURATION_2S, SEGMENT_DURATION_4S, SEGMENT_DURATION_6S, SEGMENT_DURATION_8S, or SEGMENT_DURATION_10S.
  • segmentSizeHDS (enum string): With the hds option enabled, specifies the size of the media object retrieved from the origin, either: LESS_THAN_1MB, ONE_MB_TO_TEN_MB, TEN_MB_TO_100_MB, GREATER_THAN_100MB, OTHER for sizes that straddle these ranges, or UNKNOWN to defer this optimization.
  • dash (boolean): Enable delivery of DASH media.
  • segmentDurationDASH (enum string): With the dash option enabled, specifies the duration of individual segments, either SEGMENT_DURATION_2S, SEGMENT_DURATION_4S, SEGMENT_DURATION_6S, SEGMENT_DURATION_8S, or SEGMENT_DURATION_10S.
  • segmentSizeDASH (enum string): With the dash option enabled, specifies the size of the media object retrieved from the origin, either: LESS_THAN_1MB, ONE_MB_TO_TEN_MB, TEN_MB_TO_100_MB, GREATER_THAN_100MB, OTHER for sizes that straddle these ranges, or UNKNOWN to defer this optimization.
  • smooth (boolean): Enable delivery of Smooth media.
  • segmentDurationSmooth (enum string): With the smooth option enabled, specifies the duration of individual fragments, either SEGMENT_DURATION_2S, SEGMENT_DURATION_4S, SEGMENT_DURATION_6S, SEGMENT_DURATION_8S, or SEGMENT_DURATION_10S.
  • segmentSizeSmooth (enum string): With the smooth option enabled, specifies the size of the media object retrieved from the origin, either: LESS_THAN_1MB, ONE_MB_TO_TEN_MB, TEN_MB_TO_100_MB, GREATER_THAN_100MB, OTHER for sizes that straddle these ranges, or UNKNOWN to defer this optimization.

Property Manager Name: Content Characteristics

contentCharacteristicsDD

Specifies characteristics of the delivered content. Akamai uses this information to optimize your metadata configuration, which may result in better origin offload and end-user performance.

This behavior is customized for a specific product set. See the related contentCharacteristics and contentCharacteristicsAMD behaviors, along with the List Available Behaviors operation to determine which are available to you. See also the related clientCharacteristics and originCharacteristics behaviors.

Options:

  • objectSize (enum string): Optimize based on the size of the object retrieved from the origin, either LESS_THAN_1MB, ONE_MB_TO_TEN_MB, TEN_MB_TO_100_MB, GREATER_THAN_100MB, or UNKNOWN to defer this optimization.
  • popularityDistribution (enum string): Optimize based on the content’s expected popularity, either ALL_POPULAR for a high volume of requests over a short period, LONG_TAIL for a low volume of requests over a long period, or UNKNOWN to defer this optimization.
  • catalogSize (enum string): Optimize based on the total size of the content library delivered, either SMALL (under 100GB), MEDIUM (100GB–1TB), LARGE (1TB–100TB), EXTRA_LARGE (more than 100TB), or UNKNOWN to defer this optimization.
  • contentType (enum string): Optimize based on the type of content, either VIDEO, SOFTWARE, SOFTWARE_PATCH, GAME, GAME_PATCH, OTHER_DOWNLOADS, or UNKNOWN to defer this optimization.
  • optimizeOption (boolean): When enabled, optimizes the delivery throughput and download times for large files.

Property Manager Name: Content Characteristics

cpCode

Content Provider Codes (CP codes) allow you to distinguish various reporting and billing segments. You receive a CP code when purchasing Akamai service, and you need it to access properties. This behavior allows you to apply any valid CP code, including additional ones you may request from Akamai Professional Services. For a CP code to be valid, it must belong to the same contract and be associated with the same product as the property, and the group must have access to it.

Options:

  • value (object): Specifies a value object, which includes an id key and a descriptive name:

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

Property Manager Name: Content Provider Code

customBehavior

Allows you to insert a customized XML metadata behavior into any property’s rule tree. Contact your Akamai representative to implement the customized behavior. Once it’s ready, run the List Custom Behaviors operation, then apply the relevant behaviorId value from the response within the current customBehavior. See Custom Behaviors and Overrides for guidance on custom metadata behaviors.

Options:

  • name (string): The name of the custom behavior, which may vary from what appears in the List Custom Behaviors operation’s response object.
  • behaviorId (string): The unique identifier for the predefined custom behavior you want to insert into the current rule.

Property Manager Name: Custom Behavior

deliveryReceipt

A static behavior that’s required when specifying the Cloud Monitor module’s (edgeConnect) behavior. You can only apply this behavior if the property is marked as secure. See the Rules section for details on the is_secure property option.

Options:

  • enabled (read-only string): When on, enables the behavior.

Property Manager Name: Cloud Monitor Data Delivery

denyAccess

Assuming a condition in the rule matches, this denies access to the requested content. For example, a userLocation match paired with the denyaccess behavior would deny requests from a specified part of the world.

By keying on the value of the reason option, denyaccess behaviors may override each other when called from nested rules. For example, a parent rule might deny access to a certain geographic area, citing "location" as the reason, but another nested rule can then allow access for a set of IPs within that area, so long as the reason matches.

Options:

  • enabled (boolean): Denies access when enabled.
  • reason (string): Text message that keys why access is denied. Any subsequent denyaccess behaviors within the rule tree may refer to the same reason key to override the current behavior.

Property Manager Name: Control Access

deviceCharacteristicCacheId

By default, source URLs serve as cache IDs on edge servers. Electronic Data Capture allows you to specify an additional set of device characteristics to generate separate cache keys. Use this in conjunction with the deviceCharacteristicHeader behavior.

Options:

  • elements (array of string values): Specifies a set of information about the device with which to generate a separate cache key, any of the following values:
ACCEPT_THIRD_PARTY_COOKIE
AJAX_PREFERRED_GEOLOC_API
AJAX_SUPPORT_JAVASCRIPT
BRAND_NAME
COOKIE_SUPPORT
DEVICE_OS
DEVICE_OS_VERSION
DUAL_ORIENTATION
FLASH_LITE_VERSION
FULL_FLASH_SUPPORT
GIF_ANIMATED
HTML_PREFERRED_DTD
IS_MOBILE
IS_TABLET
IS_WIRELESS_DEVICE
JPG
MARKETING_NAME
MAX_IMAGE_HEIGHT
MAX_IMAGE_WIDTH
MOBILE_BROWSER
MOBILE_BROWSER_VERSION
MODEL_NAME
PDF_SUPPORT
PHYSICAL_SCREEN_HEIGHT
PHYSICAL_SCREEN_WIDTH
PNG
PREFERRED_MARKUP
RESOLUTION_HEIGHT
RESOLUTION_WIDTH
VIEWPORT_INITIAL_SCALE
VIEWPORT_WIDTH
XHTML_FILE_UPLOAD
XHTML_PREFERRED_CHARSET
XHTML_SUPPORT_LEVEL
XHTML_SUPPORTS_IFRAME
XHTML_SUPPORTS_TABLE_FOR_LAYOUT
XHTML_TABLE_SUPPORT
XHTMLMP_PREFERRED_MIME_TYPE

Property Manager Name: Device Characterization - Define Cached Content

deviceCharacteristicHeader

Sends selected information about requesting devices to the origin server, in the form of an X-Akamai-Device-Characteristics HTTP header. Use in conjunction with the deviceCharacteristicCacheId behavior.

Options:

  • elements (array of string values): Specifies the set of information about the requesting device to send to the origin server, any of the following:
ACCEPT_THIRD_PARTY_COOKIE
AJAX_PREFERRED_GEOLOC_API
AJAX_SUPPORT_JAVASCRIPT
BRAND_NAME
COOKIE_SUPPORT
DEVICE_OS
DEVICE_OS_VERSION
DUAL_ORIENTATION
FLASH_LITE_VERSION
FULL_FLASH_SUPPORT
GIF_ANIMATED
HTML_PREFERRED_DTD
IS_MOBILE
IS_TABLET
IS_WIRELESS_DEVICE
JPG
MARKETING_NAME
MAX_IMAGE_HEIGHT
MAX_IMAGE_WIDTH
MOBILE_BROWSER
MOBILE_BROWSER_VERSION
MODEL_NAME
PDF_SUPPORT
PHYSICAL_SCREEN_HEIGHT
PHYSICAL_SCREEN_WIDTH
PNG
PREFERRED_MARKUP
RESOLUTION_HEIGHT
RESOLUTION_WIDTH
VIEWPORT_INITIAL_SCALE
VIEWPORT_WIDTH
XHTML_FILE_UPLOAD
XHTML_PREFERRED_CHARSET
XHTML_SUPPORT_LEVEL
XHTML_SUPPORTS_IFRAME
XHTML_SUPPORTS_TABLE_FOR_LAYOUT
XHTML_TABLE_SUPPORT
XHTMLMP_PREFERRED_MIME_TYPE

Property Manager Name: Device Characterization - Forward in Header

dnsAsyncRefresh

Allow an edge server to use an expired DNS record when forwarding a request to your origin. The type A DNS record refreshes after content is served to the end user, so there is no wait for the DNS resolution. Avoid this behavior if you want to be able to disable a server immediately after its DNS record expires.

Options:

  • enabled (boolean): When enabled, allows edge servers to refresh an expired DNS record after serving content.
  • timeout (duration string): Set the maximum allowed time an expired DNS record may be active.

Property Manager Name: DNS Asynchronous Refresh

dnsPrefresh

A read-only behavior that allows edge servers to refresh your origin’s DNS record independently from end-user requests. The type A DNS record refreshes before the origin’s DNS record expires.

Options:

  • enabled (boolean): When enabled, allows edge servers to refresh DNS records before they expire.
  • delay (duration string): Specifies the amount of time following a DNS record’s expiration to asynchronously prefresh it.
  • timeout (duration string): Specifies the amount of time to prefresh a DNS entry if there have been no requests to the domain name.

Property Manager Name: DNS Prefresh

downgradeProtocol

Serve static objects to the end-user client over HTTPS, but fetch them from the origin via HTTP.

Options:

  • enabled (boolean): Enables the protocol downgrading behavior.

Property Manager Name: Protocol Downgrade

downstreamCache

Specify the caching instructions the edge server sends to the end user’s client or client proxies. By default, the cache’s duration is whichever is less: the remaining lifetime of the edge cache, or what the origin’s header specifies. If the origin is set to no-store or bypass-cache, edge servers send cache-busting headers downstream to prevent downstream caching.

Options:

  • behavior (enum string): Specify the caching instructions the edge server sends to the end user’s client. It accepts the following values:

    • ALLOW: The value of allowBehavior chooses the caching method and headers to send to the client.
    • MUST_REVALIDATE: This equates to a Cache-Control: no-cache header, which allows caching but forces the client browser to send an if-modified-since request each time it requests the object.
    • BUST: Sends cache-busting headers downstream.
    • TUNNEL_ORIGIN: This passes Cache-Control and Expires headers from the origin to the downstream client.
    • NONE: Don’t send any caching headers. Allow client browsers to cache content according to their own default settings.
  • allowBehavior (enum string): Specify how the edge server calculates the downstream cache by setting the value of the Expires header:

    • FROM_VALUE sends the value of the edge cache’s duration.
    • FROM_MAX_AGE sends the cache:max-age value applied to the object, without evaluating the cache’s duration.
    • LESSER sends the lesser value of what the origin specifies and the edge cache’s remaining duration. This is the default behavior.
    • GREATER sends the greater value of what the origin specifies and the edge cache’s remaining duration.
    • REMAINING_LIFETIME sends the value of the edge cache’s remaining duration, without comparing it to the origin’s headers.
    • PASS_ORIGIN sends the value of the origin’s header, without evaluating the edge cache’s duration.
  • ttl (duration string): Set the duration of the cache. Setting the value to 0 equates to a no-cache header that forces revalidation.
  • sendHeaders (enum string): Specifies the HTTP headers to include in the response to the client:

    • PASS_ORIGIN sends the same set of Cache-Control and Expires headers received from the origin.
    • CACHE_CONTROL sends only the origin’s Cache-Control header.
    • EXPIRES sends only the origin’s Expires header.
    • CACHE_CONTROL_AND_EXPIRES sends both Cache-Control and Expires header.
    • NONE strips both headers.
  • sendPrivate (boolean): When enabled, adds a Cache-Control: private header to prevent objects from being cached in a shared caching proxy.

Property Manager Name: Downstream Cacheability

edgeConnect

Configures traffic logs for the Cloud Monitor push API.

Options:

  • enabled (boolean): Enables Cloud Monitor’s log-publishing behavior.
  • apiConnector (enum string): Describes the API connector type, either DEFAULT, BMC_APM, or SIEM_JSON.
  • apiDataElements (array of string values): Specifies the data set to log, any of the following values:
APM
GEO
HTTP
NETWORK_PERFORMANCE
NETWORK_V1
REQUEST_HEADER
RESPONSE_HEADER
SEC_APP_V2
SEC_RATE_DENY_V2
SEC_RATE_WARN_V2
  • destinationHostname (string): Specifies the target hostname accepting push API requests.
  • destinationPath (string): Specifies the push API’s endpoint.
  • overrideAggregateSettings (boolean): When enabled, overrides default log settings.
  • aggregateTime (duration string): With overrideAggregateSettings enabled, specifies how often logs are generated.
  • aggregateLines (string): With overrideAggregateSettings enabled, specifies the maximum number of lines to include in each log.
  • aggregateSize (string): With overrideAggregateSettings enabled, specifies the log’s maximum size.

Property Manager Name: Cloud Monitor Instrumentation

edgeImageConversion

The Edge Image Converter offloads various image manipulation tasks to edge servers. This behavior specifies various predefined policies to apply.

Options:

  • enabled (boolean): Enables the edge image conversion behavior.
  • failover (boolean): If the request results in a server error, enabling this forwards it to the origin.
  • usePolicy (boolean): Enables a specified set of image conversion policies.
  • policies (array): With usePolicy enabled, specifies commands that when present or not in the query string release an error code.
  • policyResponses (numeric enum): Specifies the HTTP error code if any policies conditions match, either 400, 403, 404, or 409.

Property Manager Name: Image Converter Settings

edgeLoadBalancingAdvanced

A read-only behavior that implements customized Edge Load Balancing features. Contact Akamai Professional Services for help configuring it.

Options:

  • description (string): A description of what the xml block does.
  • xml (string): A block of Akamai XML metadata.

Property Manager Name: Edge Load Balancing: Advanced Metadata

edgeLoadBalancingDataCenter

The Edge Load Balancing module allows you to specify groups of data centers that implement load balancing, session persistence, and real-time dynamic failover. Enabling ELB routes requests contextually based on location, device, or network, along with optional rules you specify.

This behavior specifies details about a data center, and must be paired in the same rule with an edgeLoadBalancingOrigin behavior, which specifies its origin. An origin is an abstraction that helps group a logical set of a website or application. It potentially includes information about many data centers and cloud providers, as well as many end points or IP addresses for each data center. More than one data center can thus refer to the same origin.

Options:

  • originId (string): Corresponds to the id specified by the edgeLoadBalancingOrigin behavior associated with this data center.
  • description (string): Provides a description for the ELB data center, for your own reference.
  • hostname (string): Specifies the data center’s hostname.
  • cookieName (string): If using session persistence, this specifies the value of the cookie named in the corresponding edgeLoadBalancingOrigin behavior’s cookie_name option.
  • enableFailover (boolean): When enabled, allows you to specify failover rules.
  • ip (string): With enableFailover enabled, specifies this data center’s IP address.
  • failoverRules (array): With enableFailover enabled, provides up to four failover rules to apply in the specified order. These rules appear as objects with the following fields:

    • modify_request (boolean): When enabled, allows you to modify the request’s hostname or path.

    • override_hostname (boolean): When enabled, overrides the request’s hostname with the failover_hostname.

    • failover_hostname: The hostname of the data center to fail over to.

    • context_root: Specifies the path to use in the forwarding request, typically the root (/) when failing over to a different data center, or a full path such as /static/error.html when failing over to an error page.

    • absolute_path (boolean): If enabled, the path specified by context_root is interpreted as an absolute server path, for example to reference a site-down page. If disabled, the path is appended to the request.

    (In the API’s beta version, please substitute boolean values with "true" or "false" string values.)

Property Manager Name: Edge Load Balancing: Data Center

edgeLoadBalancingOrigin

The Edge Load Balancing module allows you to implement groups of data centers featuring load balancing, session persistence, and real-time dynamic failover. Enabling ELB routes requests contextually based on location, device, or network, along with optional rules you specify.

This behavior specifies the data center’s origin, and must be paired in the same rule with at least one edgeLoadBalancingDataCenter behavior, which provides details about a particular data center. An origin is an abstraction that helps group a logical set of a website or application. It potentially includes information about many data centers and cloud providers, as well as many end points or IP addresses for each data center. To specify an ELB origin, you must have configured an origin behavior whosetypeis set to elb_origin_group.

Options:

  • id (string): Specifies a unique descriptive string for this ELB origin. The value must match the origin_id specified by the edgeLoadBalancingDataCenter behavior associated with this origin.
  • description (string): Provides a description for the ELB origin, for your own reference.
  • hostname (string): Specifies the hostname associated with the ELB rule.
  • enableSessionPersistence (boolean): When enabled, allows you to specify a cookie to pin the user’s browser session to one data center. When disabled, ELB’s default load balancing may send users to various data centers within the same session.
  • cookieName (string): With enableSessionPersistence enabled, this specifies the name of the cookie that marks users’ persistent sessions. The accompanying edgeLoadBalancingDataCenter behavior’s description option specifies the cookie’s value.

Property Manager Name: Edge Load Balancing: Origin Definition

edgeOriginAuthorization

Allows the origin server to use a cookie to ensure requests from Akamai servers are genuine.

This behavior requires that you specify the cookie’s domain name, so it is best to deploy within a match of the hostname. It does not work properly when the origin server accepts more than one hostname (for example, using virtual servers) that do not share the same top-level domain.

Options:

  • enabled (boolean): Enables the cookie-authorization behavior.
  • cookieName (string): Specifies the name of the cookie to use for authorization.
  • value (string): Specifies the value of the authorization cookie.
  • domain (string): Specify the cookie’s domain, which must match the top-level domain of the Host header the origin server receives.

Property Manager Name: Edge Server Identification

edgeRedirector

This behavior enables the Edge Redirector Cloudlet application, which is designed to help you manage large numbers of redirects. With cloudlets available on your contract, choose ConfigureCloudlets to control the Edge Redirector within the Luna Control Center. Otherwise use the Cloudlets API to configure it programmatically.

Options:

  • enabled (boolean): Enables the Edge Redirector Cloudlet.
  • cloudletPolicy (object): Specifies the Cloudlet policy as an object containing two members: a descriptive name string and an integer id set by the Cloudlet application.

Property Manager Name: Edge Redirector Cloudlet

edgeScape

EdgeScape allows you to customize content based on the end user’s geographic location or connection speed. When enabled, the edge server sends a special X-Akamai-Edgescape header to the origin server encoding relevant details about the end-user client as key-value pairs.

Options:

  • enabled (boolean): When enabled, sends the X-Akamai-Edgescape request header to the origin.

Property Manager Name: Content Targeting

edgeSideIncludes

Allows edge servers to process edge side include (ESI) code to generate dynamic content. Since this behavior requires more parsing time, you should not apply it to pages with no ESI code, or to any non-HTML content.

Options:

  • enabled (boolean): Enables ESI processing.
  • enableViaHttp (boolean): Enable ESI only for content featuring the following HTTP response header: Edge-control: dca=esi
  • passSetCookie (boolean): When enabled, allows edge servers to pass your origin server’s cookies to the ESI processor.
  • passClientIp (boolean): When enabled, allows edge servers to pass the client IP header to the ESI processor.
  • i18nStatus (boolean): When enabled, provides internationalization support for ESI.
  • i18nCharset (array of string values): With i18nStatus enabled, specifies the character sets to use when transcoding the ESI language, UTF-8 and ISO-8859-1 for example.

Property Manager Name: Edge Side Includes

enhancedAkamaiProtocol

Enables the Enhanced Akamai Protocol, a suite of advanced routing and transport optimizations that increase your website’s performance and reliability. It is only available to specific applications, and requires a special routing from edge to origin.

WARNING: Disabling this behavior may significantly reduce a property’s performance.

This behavior does not include any options. Specifying the behavior itself enables it.

Property Manager Name: Enhanced Akamai Protocol

failAction

Specifies how to respond when the origin is not available: by serving stale content, by serving an error page, or by redirecting.

Options:

  • enabled (boolean): When enabled in case of a failure to contact the origin, the current behavior applies.
  • actionType (enum string): Specifies the basic action to take when there is a failure to contact the origin:

    • SERVE_STALE serves content that is already in the cache.
    • REDIRECT specifies a redirect action. (Use with these options: redirectHostnameType, redirectHostname, redirectCustomPath, redirectPath, redirectMethod, modifyProtocol, and protocol.)
    • RECREATED_CEX serves alternate content from an external network. (Use with these options: cexHostname, cexCustomPath, and cexPath.)
    • RECREATED_CO serves alternate content from your network. (Use with these options: contentHostname, contentCustomPath, and contentPath.)
    • RECREATED_NS serves NetStorage content. (Use with these options: netStorageHostname, netStoragePath, and cpCode.)
    • DYNAMIC allows you to serve dynamic SaaS content if SaaS acceleration is available on your contract. (Use with these options: dynamicMethod, dynamicCustomPath, saasType, saasSuffix, saasRegex, and saasReplace.)
  • cpCode (object): When actionType is RECREATED_NS, this specifies a cpcode for which to log errors for the NetStorage location. It appears as an object that includes an id key and a descriptive name:

    "cpCode": {
        "id"   : 12345,
        "name" : "my cpcode"
    }
    
  • netStorageHostname (object): When the actionType is RECREATED_NS, specifies the NetStorage origin to serve the alternate content, as in the example below. Contact Akamai Professional Services for your NetStorage origin’s id.

    "netStorageHostname": {
        "id"                 : "id_string",
        "name"               : "Example Downloads",
        "downloadDomainName" : "example.download.akamai.com",
        "cpCode"             : 12345
    }
    
  • netStoragePath (string; allows variables): When the actionType is RECREATED_NS, specifies the path for the NetStorage request.
  • redirectMethod (numeric enum): When the actionType is REDIRECT, specifies the HTTP response code, either 301 or 302.
  • redirectHostnameType (enum string): When the actionType is REDIRECT, this specifies whether to preserve the ORIGINAL hostname in the redirect, or whether to use an ALTERNATE hostname specified with redirectHostname.
  • redirectHostname (string; allows variables): When the actionType is REDIRECT and the redirectHostnameType is ALTERNATE, this specifies the hostname for the redirect.
  • redirectCustomPath (boolean): When the actionType is REDIRECT, enabling this allows you use redirectPath to customize a new path.
  • redirectPath (string; allows variables): When the actionType is REDIRECT, this specifies a new path.
  • modifyProtocol (boolean): When the actionType is REDIRECT, or if the dynamicMethod is either SERVE_301 or SERVE_302, enabling this allows you to modify the redirect’s protocol using the value of the protocol field.
  • protocol (enum string): When the actionType is REDIRECT and modifyProtocol is enabled, this specifies the redirect’s protocol, either HTTP or HTTPS.
  • preserveQueryString (boolean): When using either contentCustomPath, cexCustomPath, dynamicCustomPath, or redirectCustomPath to specify a custom path, enabling this passes in the original request’s query string as part of the path.
  • cexHostname (string; allows variables): When actionType is RECREATED_CEX, this specifies a hostname.
  • cexCustomPath (boolean): When actionType is RECREATED_CEX, enabling this allows you to specify a custom path.
  • cexPath (string; allows variables): When actionType is RECREATED_CEX and cexCustomPath is enabled, this specifies a custom path.
  • contentHostname (string; allows variables): When the actionType is RECREATED_CO, specifies the static hostname for the alternate redirect.
  • contentCustomPath (boolean): When the actionType is RECREATED_CO, enabling this allows you to specify a custom redirect path.
  • contentPath (string; allows variables): When the actionType is RECREATED_CO and contentCustomPath is enabled, this specifies a custom redirect path.
  • dynamicMethod (enum string): With the actionType set to DYNAMIC, specifies the redirect method, either SERVE_301, SERVE_302, or SERVE_ALTERNATE.
  • dynamicCustomPath (boolean): When enabled, allows you to modify the original requested path.
  • dynamicPath (string; allows variables): With dynamicCustomPath enabled, specifies the new path.
  • saasType (enum string): Identifies the component of the request that identifies the SaaS dynamic failaction: either COOKIE, HOSTNAME, PATH, or QUERY_STRING.
  • saasSuffix (string; allows variables): With actionType set to DYNAMIC, specifies the static portion of the SaaS dynamic failaction.
  • saasRegex (string): With actionType set to DYNAMIC, specifies the substitution pattern (a Perl-compatible regular expression) that defines the SaaS dynamic failaction.
  • saasReplace (string; allows variables): With actionType set to DYNAMIC, specifies the replacement pattern that defines the SaaS dynamic failaction.
  • saasCnameEnabled (boolean): With the saasType set to HOSTNAME, specifies whether to use a CNAME chain to determine the hostname for the SaaS dynamic failaction.
  • saasCnameLevel (number): With saasCnameEnabled on, specifies the number of elements in the CNAME chain backwards from the edge hostname that determines the hostname for the SaaS dynamic failaction.
  • saasCookie (string; allows variables): With saasType set to COOKIE, specifies the name of the cookie that identifies this SaaS dynamic failaction.
  • saasQueryString (string; allows variables): With saasType set to QUERY_STRING, specifies the name of the query parameter that identifies this SaaS dynamic failaction.

Property Manager Name: Site Failover

fastInvalidate

Applies Akamai’s Fast Purge feature to selected edge content, invalidating it within approximately five seconds. This behavior sends an If-Modified-Since request to the origin for subsequent requests, replacing it with origin content if its timestamp is more recent. Otherwise if the origin lacks a Last-Modified header, it sends a simple GET request. Note that this behavior does not simply delete content if more recent origin content is unavailable. See the Content Control Utility API for an independent way to invalidate selected sets of content, and for more information on the feature.

Options:

  • enabled (boolean): When enabled, forces a validation test for all edge content to which the behavior applies.

Property Manager Name: Fast Invalidate

forwardRewrite

The Forward Rewrite Cloudlet allows you to conditionally modify the forward path in edge content without affecting the URL that displays in the user’s address bar. If cloudlets are available on your contract, choose ConfigureCloudlets to control how this feature works, or use the Cloudlets API to configure it programmatically.

Options:

  • enabled (boolean): Enables the Forward Rewrite Cloudlet behavior.
  • cloudletPolicy (object): Identifies the Cloudlet policy in an object featuring unique numeric id and descriptive string name members.

Property Manager Name: Forward Rewrite Cloudlet

frontEndOptimization

This behavior enables Front End Optimization, a suite of performance enhancements that accelerate page rendering and reduce download times, for example by minifying JavaScript and CSS.

Options:

  • enabled (boolean): Enables the front-end optimization behavior.

Property Manager Name: Front-End Optimization

g2oheader

The signature header authentication (g2o) security feature provides header-based verification of outgoing origin requests. Edge servers encrypt request data in a pre-defined header, which the origin uses to verify that the edge server processed the request. This behavior configures the request data, header names, encryption algorithm, and shared secret to use for verification.

Options:

  • enabled (boolean): Enables the g2o verification behavior.
  • dataHeader (string): Specifies the name of the header that contains the request data that needs to be encrypted.
  • signedHeader (string): Specifies the name of the header containing encrypted request data.
  • encodingVersion (numeric enum): Specifies the version of the encryption algorithm as an integer from 1 through 5.
  • useCustomSignString (boolean): When disabled, the encrypted string is based on the forwarded URL. If enabled, you can use customSignString to customize the set of data to encrypt.
  • customSignString (array of string values): With useCustomSignString enabled, specifies the set of data to be encrypted as a combination of concatenated strings, any of the following values:
AK_CLIENT_REAL_IP
AK_DOMAIN
AK_EXTENSION
AK_FILENAME
AK_HOSTHEADER
AK_METHOD
AK_PATH
AK_QUERY
AK_SCHEME
AK_URL
  • secretKey (string): Specifies the shared secret key.
  • nonce (string): Specifies the cryptographic nonce string.

Property Manager Name: Signature Header Authentication

gzipResponse

Apply gzip compression to speed transfer time. The behavior applies best to text content such as HTML, CSS, and JavaScript, especially once it exceeds about 10KB. Do not apply it to already compressed image formats, or to small files that would add more time to uncompress.

Options:

  • behavior (enum string): Specify when to compress responses, either ALWAYS, NEVER, or ORIGIN_RESPONSE to clients that send an Accept-Encoding: gzip header.

Property Manager Name: Last Mile Acceleration

hdDataAdvanced

A read-only behavior that specifies Akamai XML metadata that can only be configured on your behalf by Akamai Professional Services. Unlike the advanced behavior, this may apply a different set of overriding metadata that executes in a post-processing phase.

Options:

  • description (string): Human-readable description of what the XML block does.
  • xml (string): A block of Akamai XML metadata.

Property Manager Name: HD Data Override: Advanced Metadata

healthDetection

Monitors the health of your origin server by tracking unsuccessful attempts to contact it. Use this behavior to keep end users from having to wait several seconds before a forwarded request times out, or to reduce requests on the origin server when it is unavailable.

When client requests are forwarded to the origin, the edge server tracks the number of attempts to connect to each IP address. It cycles through IP addresses in least-recently-tested order to avoid hitting the same one twice in a row. If the number of consecutive unsuccessful tests reaches a threshold you specify, the behavior identifies the address as faulty and stops sending requests. The edge server returns an error message to the end user or else triggers any failAction behavior you specify.

Options:

  • retryCount (number): The number of consecutive connection failures that mark an IP address as faulty.
  • retryInterval (duration string): Specifies the amount of time the edge server will wait before trying to reconnect to an IP address it has already identified as faulty.
  • maximumReconnects (number): Specifies the maximum number of times the edge server will contact your origin server. If your origin is associated with several IP addresses, maximumReconnects effectively overrides the value of retryCount.

Property Manager Name: Origin Health Detection

http2

Enables the HTTP/2 protocol, which reduces latency and improves efficiency. You can only apply this behavior if the property is marked as secure. See the Rules section for details on the is_secure property option.

This behavior does not include any options. Specifying the behavior itself enables it.

Property Manager Name: HTTP/2

imageManager

Optimizes images’ size or file type for the requesting device. You can also use this behavior to generate API tokens to apply your own policies to matching images using the Image Manager API.

Options:

  • enabled (boolean): Enable image management capabilities and generate a corresponding API token.
  • resize (boolean): Specify whether to scale down images to the maximum screen resolution, as determined by the rendering device’s user agent. Note that enabling this may affect screen layout in unexpected ways.
  • applyBestFileType (boolean): Specify whether to convert images to the best file type for the requesting device, based on its user agent and the initial image file. This produces the smallest file size possible that retains image quality.
  • superCacheRegion (enum string): Specifies a location for your site’s heaviest traffic, for use in caching derivatives on edge servers. Possible values are US, JAPAN, ASIA, AUSTRALIA, or EMEA (Europe, Middle East, and Africa).
  • cpCodeOriginal (object): Assigns a CP code to track traffic and billing for original images that the Image Manager has not modified. The value is expressed as an object with a single id member paired with an integer value, for example: "cpCodeOriginal": { "id": 12345 }.
  • cpCodeTransformed (object): Assigns a separate CP code to track traffic and billing for derived images. The value is expressed as an object with a single id member paired with an integer value, for example: "cpCodeTransformed": { "id": 12345 }.
  • advanced (boolean): When enabled, allows you to generate a custom Image Manager API token to apply a corresponding policy to this set of images. The token consists of a descriptive label (the policyToken) concatenated with a property-specific identifier that’s generated when you save the property. The API registers the token when you activate the property.
  • policyToken (string): With advanced enabled, assign a prefix label to help match the policy token to this set of images, limited to 32 alphanumeric or underscore characters. If you don’t specify a label, default becomes the prefix.
  • policyTokenDefault (string): Specify the default policy identifier, which is registered with the Image Manager API once you activate this property. The advanced option must be inactive.

Property Manager Name: Image Manager

inputValidation

The Input Validation Cloudlet detects anomalous edge requests and helps mitigate repeated invalid requests. You can configure it using either the Cloudlets Policy Manager application, available within the Luna Control Center in ConfigureCloudlets, or the Cloudlets API.

Use this behavior to specify criteria that identifies each unique end user, and optionally supplement the Input Validation policy with additional criteria your origin uses to identify invalid requests. Specify the threshold number of invalid requests that triggers a penalty, and the subsequent response. Also specify an ordinary failure response for those who have not yet met the threshold, which should not conflict with any other behavior that defines a failure response.

Options:

  • enabled (boolean): Applies the Input Validation Cloudlet behavior.
  • cloudletPolicy (object): Identifies the Cloudlet policy in an object featuring unique numeric id and descriptive string name members.
  • label (string): Distinguishes this Input Validation policy from any others within the same property.
  • userIdentificationByCookie (boolean): When enabled, identifies users by the value of a cookie.
  • userIdentificationKeyCookie (string): With userIdentificationByCookie enabled, this specifies the cookie name whose value must remain constant across requests to identify a user.
  • userIdentificationByIp (boolean): When enabled, identifies users by specific IP address. Do not enable this if you are concerned about DDoS attacks from many different IP addresses.
  • userIdentificationByHeaders (boolean): When enabled, identifies users by specific HTTP headers on GET or POST requests.
  • userIdentificationKeyHeaders (array of string values): With userIdentificationByHeaders enabled, this specifies the HTTP headers whose combined set of values identify each end user.
  • userIdentificationByParams (boolean): When enabled, identifies users by specific query parameters on GET or POST requests.
  • userIdentificationKeyParams (array of string values): With userIdentificationByParams enabled, this specifies the query parameters whose combined set of values identify each end user.
  • allowLargePostBody (boolean): Fails POST request bodies that exceed 16 KB when enabled, otherwise allows them to pass with no validation for policy compliance.
  • resetOnValid (boolean): Upon receiving a valid request, enabling this resets the penaltyThreshold counter to zero. Otherwise, even those series of invalid requests that are interrupted by valid requests may trigger the penaltyAction.
  • validateOnOriginWith (enum string): For any validation that edge servers can’t perform alone, this specifies additional validation steps based on how the origin identifies an invalid request. If a request is invalid, the origin can indicate this to the edge server either with a RESPONSE_CODE or RESPONSE_CODE_AND_HEADER. If no additional validation is necessary, specify DISABLED.
  • validateOnOriginHeaderName (string): If validateOnOriginWith is set to RESPONSE_CODE_AND_HEADER, this specifies the header name for a request that the origin identifies as invalid.
  • validateOnOriginHeaderValue (string): If validateOnOriginWith is set to RESPONSE_CODE_AND_HEADER, this specifies an invalid request’s header value that corresponds to the validateOnOriginHeaderName.
  • validateOnOriginResponseCode (number): Unless validateOnOriginWith is DISABLED, this identifies the integer response code for requests the origin identifies as invalid.
  • failure302Uri (string): Specifies the redirect link for invalid requests that have not yet triggered a penalty.
  • penaltyThreshold (number): Specifies the number of invalid requests permitted before executing the penaltyAction.
  • penaltyAction (enum string): Once the penaltyThreshold of invalid requests is met, this specifies the response, either BRANDED_403, BLANK_403 or REDIRECT_302.
  • penalty302Uri (string): With penaltyAction set to REDIRECT_302, this specifies the redirect link for end users who trigger the penalty.
  • penaltyNetStorage (object): With penaltyAction set to BRANDED_403, this specifies the NetStorage account that serves out the penalty’s static 403 response content. Details appear in an object featuring a downloadDomainName string member that identifies the NetStorage hostname, and an integer cpCode to track the traffic.
  • penalty403NetStoragePath (string): With penaltyAction set to BRANDED_403, this specifies the full path to the static 403 response content relative to the downloadDomainName in the penaltyNetStorage object.
  • penaltyBrandedDenyCacheTtl (number within 5–30 range): With penaltyAction set to BRANDED_403, this specifies the penalty response’s time to live in the cache, 5 minutes by default.

Property Manager Name: Input Validation Cloudlet

instant

The Instant feature allows you to prefetch content to the edge cache by adding link relation attributes to markup. For example:

<a href="page2.html" rel="Akamai-prefetch">Page 2</a>

Default link relation values are prefetch and Akamai-prefetch. Applies only to HTML elements that may specify an external file: <a>, <base>, <img>, <script>, <input>, <link>, <table>, <td>, or <th>. (For the latter three, some legacy browsers support a nonstandard background image attribute.)

This behavior provides an alternative to the prefetch and prefetchable behaviors, which allow you to configure more general prefetching behavior outside of markup.

Options:

  • prefetchCacheable (boolean): When enabled, applies prefetching only to objects already set to be cacheable, for example using the caching behavior. Only applies to content with the tieredDistribution behavior enabled.
  • prefetchNoStore (boolean): Allows otherwise non-cacheable no-store content to prefetch if the URL path ends with / to indicate a request for a default file, or if the extension matches the value of the prefetchNoStoreExtensions option. Only applies to content with the sureRoute behavior enabled.
  • prefetchNoStoreExtensions (array of string values): Specifies a set of file extensions for which the prefetchNoStore option is allowed.
  • prefetchHtml (boolean): When enabled, allows edge servers to prefetch additional HTML pages while pages that link to them are being delivered. This only applies to links from <a> or <link> tags with the appropriate link relation attribute.
  • customLinkRelations (array of string values): Specify link relation values that activate the prefetching behavior. For example, specifying fetch allows you to use shorter rel="fetch" markup.

Property Manager Name: Akamai Instant

instantConfig

Multi-Domain Configuration, also known as InstantConfig, allows you to apply property settings to all incoming hostnames based on a DNS lookup, without explicitly listing them among the property’s hostnames.

Options:

  • enabled (boolean): Enables the InstantConfig behavior.

Property Manager Name: InstantConfig

largeFileOptimization

The Large File Optimization feature improves performance and reliability when delivering large files. This behavior is required for objects larger than 1.8GB, and recommended for anything over 100MB. You should apply it only to the specific content to be optimized, such as a download directory’s .gz files, and enable the useVersioning option while enforcing your own filename versioning policy. Note that it is best to use NetStorage for objects larger than 1.8GB.

Options:

  • enabled (boolean): Enables the file optimization behavior.
  • enablePartialObjectCaching (enum string): Caches entire objects if set to NON_PARTIAL_OBJECT_CACHING. Otherwise when set to PARTIAL_OBJECT_CACHING, allows partial-object caching, which always applies to large objects served from NetStorage. To enable this, the origin must support byte range requests.
  • minimumSize (string): Optimization only applies to files larger than this, expressed as a number suffixed with a unit string such as MB or GB.
  • maximumSize (string): Optimization does not apply to files larger than this, expressed as a number suffixed with a unit string such as MB or GB.
  • useVersioning (boolean): When enablePartialObjectCaching is set to PARTIAL_OBJECT_CACHING, enabling this option signals your intention to vary filenames by version, strongly recommended to avoid serving corrupt content when chunks come from different versions of the same file.

Property Manager Name: Large File Optimization

limitBitRate

Control the rate at which content is served to end users, optionally varying the speed depending on the file size or elapsed download time. Each bit rate specified in the bitrateTable array corresponds to a thresholdTable entry that activates it. You can use this behavior to prevent media downloads from progressing faster than they are viewed, for example, or to differentiate various tiers of end-user experience.

Options:

  • enabled (boolean): When enabled, activates the bit rate limiting behavior.
  • bitrateTable (array): Specifies a download rate that corresponds to a thresholdTable entry. The bit rate appears as a two-member object consisting of a numeric bitrateValue and a bitrateUnit string, with allowed values of Kbps, Mbps, and Gbps. For example:

    "bitrateTable": [
        {
            "bitrateValue": 1,
            "bitrateUnit": "Kbps"
        }
    ]
    
  • thresholdTable (array): Specifies the minimum size of the file or the amount of elapsed download time before applying the bit rate limit from the corresponding bitrateTable entry. The threshold appears as a two-member object consisting of a numeric thresholdValue and thresholdUnit string, with allowed values of s or B. This example throttles a download that lasts more than 5 seconds:

    "thresholdTable": [
        {
            "thresholdValue": 5,
            "thresholdUnit": "s"
        }
    ]
    

Property Manager Name: Bit Rate Limiting

mediaFileRetrievalOptimization

Media File Retrieval Optimization (MFRO) speeds the delivery of large media files by relying on caches of partial objects. It is recommended for files larger than 100 MB, is required for files larger than 1.8 GB, and works best with NetStorage.

Options:

  • enabled (boolean): Enables the partial-object caching behavior.

Property Manager Name: Media File Retrieval Optimization

modifyIncomingRequestHeader

Modify, add, remove, or pass along specific request headers coming upstream from the client.

Depending on the type of action you want to perform, specify the corresponding standard header name, or a customHeaderName if the standard name is set to OTHER. The headerValue serves as a match condition when the action is DELETE or MODIFY, and the newHeaderValue applies when the action is ADD or MODIFY.

See also modifyIncomingResponseHeader, modifyOutgoingRequestHeader, and modifyOutgoingResponseHeader.

Options:

  • action (enum string): Either ADD, DELETE, MODIFY, or PASS incoming HTTP request headers.
  • standardAddHeaderName (enum string): If the value of action is ADD, this specifies the name of the field to add, either ACCEPT_ENCODING, ACCEPT_LANGUAGE, or OTHER.
  • standardDeleteHeaderName (enum string): If the value of action is DELETE, this specifies the name of the field to remove, either IF_MODIFIED_SINCE, VIA, or OTHER.
  • standardModifyHeaderName (enum string): If the value of action is MODIFY, this specifies the name of the field to modify, either ACCEPT_ENCODING, ACCEPT_LANGUAGE, or OTHER.
  • standardPassHeaderName (enum string): If the value of action is PASS, this specifies the name of the field to pass through, either ACCEPT_ENCODING, ACCEPT_LANGUAGE, or OTHER.
  • customHeaderName (string; allows variables): Specifies a custom field name that applies when the relevant standard header name is set to OTHER.
  • headerValue (string; allows variables): With the action set to ADD, specifies the new header value.
  • newHeaderValue (string; allows variables): With the action set to MODIFY, supplies an HTTP header replacement value.
  • avoidDuplicateHeaders (boolean): When enabled with the action set to MODIFY, prevents creation of more than one instance of a header.

Property Manager Name: Modify Incoming Request Header

modifyIncomingResponseHeader

Modify, add, remove, or pass along specific response headers coming downstream from the origin.

Depending on the type of action you want to perform, specify the corresponding standard header name, or a customHeaderName if the standard name is set to OTHER. The headerValue serves as a match condition when the action is DELETE or MODIFY, and the newHeaderValue applies when the action is ADD or MODIFY.

See also modifyIncomingRequestHeader, modifyOutgoingRequestHeader, and modifyOutgoingResponseHeader.

Options:

  • action (enum string): Either ADD, DELETE, MODIFY, or PASS incoming HTTP response headers.
  • standardAddHeaderName (enum string): If the value of action is ADD, this specifies the name of the field to add, any of the following values:
CACHE_CONTROL
CONTENT_TYPE
EDGE_CONTROL
EXPIRES
LAST_MODIFIED
OTHER
  • standardDeleteHeaderName (enum string): If the value of action is DELETE, this specifies the name of the field to remove, either CACHE_CONTROL, CONTENT_TYPE, VARY, or OTHER.
  • standardModifyHeaderName (enum string): If the value of action is MODIFY, this specifies the name of the field to modify, either CACHE_CONTROL, CONTENT_TYPE, EDGE_CONTROL, or OTHER.
  • standardPassHeaderName (enum string): If the value of action is PASS, this specifies the name of the field to pass through, either CACHE_CONTROL, EXPIRES, PRAGMA, or OTHER.
  • customHeaderName (string; allows variables): Specifies a custom field name that applies when the relevant standard header name is set to OTHER.
  • headerValue (string; allows variables): With the action set to ADD, specifies the header’s new value.
  • newHeaderValue (string; allows variables): With the action set to MODIFY, specifies an HTTP header replacement value.
  • avoidDuplicateHeaders (boolean): When enabled with the action set to MODIFY, prevents creation of more than one instance of a header.

Property Manager Name: Modify Incoming Response Header

modifyOutgoingRequestHeader

Modify, add, remove, or pass along specific request headers going upstream towards the origin.

Depending on the type of action you want to perform, specify the corresponding standard header name, or a customHeaderName if the standard name is set to OTHER. The headerValue serves as a match condition when the action is DELETE or MODIFY, and the newHeaderValue applies when the action is ADD or MODIFY. Whole-text replacements apply when the action is MODIFY, and substitutions apply when set to REGEX.

See also modifyIncomingRequestHeader, modifyIncomingResponseHeader, and modifyOutgoingResponseHeader.

Options:

  • action (enum string): Either ADD or DELETE outgoing HTTP request headers, MODIFY their fixed values, or specify a REGEX pattern to transform them.
  • standardAddHeaderName (enum string): If the value of action is ADD, this specifies the name of the field to add, either USER_AGENT or OTHER.
  • standardDeleteHeaderName (enum string): If the value of action is DELETE, this specifies the name of the field to remove, either PRAGMA, USER_AGENT, VIA, or OTHER.
  • standardModifyHeaderName (enum string): If the value of action is MODIFY or REGEX, this specifies the name of the field to modify, either USER_AGENT or OTHER.
  • customHeaderName (string; allows variables): Specifies a custom field name that applies when the relevant standard header name is set to OTHER.
  • headerValue (string; allows variables): With the action set to ADD, specifies the new header value.
  • newHeaderValue (string; allows variables): With the action set to MODIFY, specifies an HTTP header replacement value.
  • regexHeaderMatch (string; allows variables): When the action is REGEX, specifies a Perl-compatible regular expression to match within the header value.
  • regexHeaderReplace (string; allows variables): When the action is REGEX, specifies text that replaces the regexHeaderMatch pattern within the header value.
  • matchMultiple (boolean): When enabled with the action set to REGEX, replaces all occurrences of the matched regular expression, otherwise only the first match if disabled.
  • avoidDuplicateHeaders (boolean): When enabled with the action set to MODIFY, prevents creation of more than one instance of a header.

Property Manager Name: Modify Outgoing Request Header

modifyOutgoingResponseHeader

Modify, add, remove, or pass along specific response headers going downstream towards the client.

Depending on the type of action you want to perform, specify the corresponding standard header name, or a customHeaderName if the standard name is set to OTHER. The headerValue serves as a match condition when the action is DELETE or MODIFY, and the newHeaderValue applies when the action is ADD or MODIFY. Whole-text replacements apply when the action is MODIFY, and substitutions apply when set to REGEX.

See also modifyIncomingRequestHeader, modifyIncomingResponseHeader, and modifyOutgoingRequestHeader

Options:

  • action (enum string): Either ADD or DELETE outgoing HTTP response headers, MODIFY their fixed values, or specify a REGEX pattern to transform them.
  • standardAddHeaderName (enum string): If the value of action is ADD, this specifies the name of the field to add, any of the following values:
ACCESS_CONTROL_ALLOW_CREDENTIALS
ACCESS_CONTROL_ALLOW_HEADERS
ACCESS_CONTROL_ALLOW_METHODS
ACCESS_CONTROL_ALLOW_ORIGIN
ACCESS_CONTROL_EXPOSE_HEADERS
ACCESS_CONTROL_MAX_AGE
CACHE_CONTROL
CONTENT_DISPOSITION
CONTENT_TYPE
EDGE_CONTROL
OTHER
P3P
PRAGMA
  • standardDeleteHeaderName (enum string): If the value of action is DELETE, this specifies the name of the field to remove, any of the following values:
ACCESS_CONTROL_ALLOW_CREDENTIALS
ACCESS_CONTROL_ALLOW_HEADERS
ACCESS_CONTROL_ALLOW_METHODS
ACCESS_CONTROL_ALLOW_ORIGIN
ACCESS_CONTROL_EXPOSE_HEADERS
ACCESS_CONTROL_MAX_AGE
CACHE_CONTROL
CONTENT_DISPOSITION
CONTENT_TYPE
EXPIRES
OTHER
P3P
PRAGMA
  • standardModifyHeaderName (enum string): If the value of action is MODIFY or REGEX, this specifies the name of the field to modify, any of the following values:
ACCESS_CONTROL_ALLOW_CREDENTIALS
ACCESS_CONTROL_ALLOW_HEADERS
ACCESS_CONTROL_ALLOW_METHODS
ACCESS_CONTROL_ALLOW_ORIGIN
ACCESS_CONTROL_EXPOSE_HEADERS
ACCESS_CONTROL_MAX_AGE
CACHE_CONTROL
CONTENT_DISPOSITION
CONTENT_TYPE
OTHER
P3P
PRAGMA
  • customHeaderName (string; allows variables): Specifies a custom field name that applies when the relevant standard header name is set to OTHER.
  • headerValue (string; allows variables): Specifies the existing value of the header to match.
  • newHeaderValue (string; allows variables): With the action set to MODIFY, specifies the new HTTP header replacement value.
  • regexHeaderMatch (string): When the action is REGEX, specifies a Perl-compatible regular expression to match within the header value.
  • regexHeaderReplace (string; allows variables): When the action is REGEX, specifies text that replaces the regexHeaderMatch pattern within the header value.
  • matchMultiple (boolean): When enabled with the action set to REGEX, replaces all occurrences of the matched regular expression, otherwise only the first match if disabled.
  • avoidDuplicateHeaders (boolean): When enabled with the action set to MODIFY, prevents creation of more than one instance of a header. The last header clobbers others with the same name. This option affects the entire set of outgoing headers, and is not confined to the subset of regular expression matches.

Property Manager Name: Modify Outgoing Response Header

netSession

This behavior enables various features of NetSession, a client-side download manager application that’s especially appropriate for large file downloads. For the feature to work, the end user must download the DLM client.

Options:

  • enabled (boolean): Enables NetSession DLM capabilities for this content.
  • enableDomain (boolean): …
  • enableDownloadManager (boolean): When enabled, launches files once they are fully downloaded. For example, specify this option to run an executable application.
  • enableDownloadClients (boolean): When enabled, allows download clients to form a peer-to-peer network to reduce transmission time.
  • disableReporting (boolean): Disable download state reporting via HTTP beacon messages. Otherwise when enabled, you can view the state of each download by choosing MonitorDownload Analytics on the DLM client.
  • resumeUrl (array of string values): Specify an alternate domain from which to resume a paused download. This generates a corresponding shortcut link on the end user’s desktop that disappears after the download is complete.
  • organizationName (string): The name of the organization that displays in the NetSession client DLM interface.
  • supportUrl (string): A supporting link to the organizationName that displays in the NetSession client DLM interface.

Property Manager Name: NetSession

networkConditionsHeader

Instructs edge servers to send an X-Akamai-Network-Condition header to the origin assessing the quality of the network.

Options:

  • behavior (enum string): If set to TWO_TIER, assessment is either Excellent or Poor. If set to THREE_TIER, the assessment can also be Fair.

Property Manager Name: Network Conditions Header

origin

Specify the hostname and settings used to contact the origin once service begins. You can use your own origin, NetStorage, an Edge Load Balancing origin, or a SaaS dynamic origin.

Options:

  • originType (enum string): Choose whether your content is retrieved from your own server (CUSTOMER), your NetStorage account (NET_STORAGE), any available Edge Load Balancing origin (EDGE_LOAD_BALANCING_ORIGIN_GROUP), a set of Application Load Balancer origins (APPLICATION_LOAD_BALANCER), a SaaS dynamic origin (SAAS_DYNAMIC_ORIGIN) if SaaS acceleration is available on your contract, or MEDIA_SERVICE_LIVE. NetStorage is most appropriate for static content.
  • netStorage (object): If the originType is NET_STORAGE, this option specifies the details of the netstorage server. For example:

    "netStorage": {
        "id"                 : "id_string",
        "name"               : "Example Downloads",
        "downloadDomainName" : "example.download.akamai.com",
        "cpCode"             : 12345
    }
    
  • originId (string): With the originType set to EDGE_LOAD_BALANCING_ORIGIN_GROUP, identifies the Edge Load Balancing origin. This must correspond to an edgeLoadBalancingOrigin behavior’s id attribute within the same property.
  • hostname (string; allows variables): With the originType set to CUSTOMER, this specifies the hostname or IPv4 address of your origin server, from which edge servers can retrieve your content.
  • mslorigin (string): With originType set to MEDIA_SERVICE_LIVE, this specifies the media’s origin server.
  • saasType (enum string): With originType set to SAAS_DYNAMIC_ORIGIN, specifies the part of the request that identifies this SaaS dynamic origin, either PATH, COOKIE, QUERY_STRING, or HOSTNAME.
  • saasCnameEnabled (boolean): With saasType set to HOSTNAME, enabling this allows you to use a CNAME chain to determine the hostname for this SaaS dynamic origin.
  • saasCnameLevel (number): With saasType set to HOSTNAME and saasCnameEnabled on, specifies the desired number of hostnames to use in the CNAME chain, starting backwards from the edge server.
  • saasCookie (string): With the originType set to SAAS_DYNAMIC_ORIGIN and the saasType set to COOKIE, this specifies the name of the cookie that identifies this SaaS dynamic origin.
  • saasQueryString (string): With the originType set to SAAS_DYNAMIC_ORIGIN and the saasType set to QUERY_STRING, this specifies the name of the query parameter that identifies this SaaS dynamic origin.
  • saasRegex (string): With the originType set to SAAS_DYNAMIC_ORIGIN, this specifies the Perl-compatible regular expression match that identifies this SaaS dynamic origin.
  • saasReplace (string): Specifies replacement text for what saasRegex matches.
  • saasSuffix (string): With the originType set to SAAS_DYNAMIC_ORIGIN, specifies the static part of the SaaS dynamic origin.
  • forwardHostHeader (enum string): When the originType is set to either CUSTOMER or SAAS_DYNAMIC_ORIGIN, this specifies which Host header to pass to the origin:

    • REQUEST_HOST_HEADER passes the original request’s header.
    • ORIGIN_HOSTNAME passes the current origin’s HOSTNAME.
    • CUSTOM passes the value of customForwardHostHeader. Use this option if you want requests handled by different properties to converge on the same cached object.
  • customForwardHostHeader (string; allows variables): With forwardHostHeader set to CUSTOM, this specifies the name of the custom host header the edge server should pass to the origin.
  • cacheKeyHostname (enum string): With the originType set to CUSTOM, this specifies the hostname to use when forming a cache key. Specify ORIGIN_HOSTNAME if your origin server’s responses do not depend on the hostname, otherwise specify REQUEST_HOST_HEADER when using a virtual server.
  • compress (boolean): Enables gzip compression for non-NetStorage origins.
  • enableTrueClientIp (boolean): When enabled on non-NetStorage origins, allows you to send a custom header (the trueClientIpHeader) identifying the IP address of the immediate client connecting to the edge server. This may provide more useful information than the standard X-Forward-For header, which proxies may modify.
  • trueClientIpHeader (string): With enableTrueClientIp enabled, this specifies the name of the field that identifies the end client’s IP address, for example True-Client-IP.
  • trueClientIpClientSetting (boolean): With enableTrueClientIp on along with this option, if a client sets the True-Client-IP header, the edge server allows it and passes the value to the origin. Otherwise the edge server removes it and sets the value itself.
  • verificationMode (enum string): For non-NetStorage origins, maximize security by controlling which certificates edge servers should trust, either PLATFORM_SETTINGS, THIRD_PARTY when your origin server references certain types of third-party hostname, or CUSTOM. The CUSTOM option only applies if the property is marked as secure. See the Rules section for details on the is_secure property option. Under some products, you may also need to enable the Secure Delivery - Customer Cert module. Contact your Akamai representative for details.
  • originSni (boolean): For non-NetStorage origins, enabling this adds a Server Name Indication (SNI) header in the SSL request sent to the origin, with the origin hostname as the value. Contact your Akamai representative for more information.
  • customValidCnValues (array of string values): With verificationMode set to CUSTOM, specifies values to look for in the origin certificate’s Subject Alternate Name or Common Name fields. Specify {{Origin Hostname}} and {{Forward Host Header}} within the text in the order you want them to be evaluated. (Note that these two template items are not the same as in-line variables, which use the same curly-brace syntax.)
  • originCertsToHonor (enum string): With verificationMode set to CUSTOM, specifies whether to trust pinned origin server certificates (CUSTOM_CERTIFICATES), any certificate signed by an Akamai-managed authority set (STANDARD_CERTIFICATE_AUTHORITIES), or any certificate signed by a custom authority set you manage (CUSTOM_CERTIFICATE_AUTHORITIES). If set to COMBO, may rely on all three inputs.
  • standardCertificateAuthorities (object): With originCertsToHonor set to either STANDARD_CERTIFICATE_AUTHORITIES or COMBO, specifies an array of Akamai-managed certificate names. Currently, the only allowed value is akamai-permissive.
  • customCertificateAuthorities (object): With originCertsToHonor set to either CUSTOM_CERTIFICATE_AUTHORITIES or COMBO, specifies an array of certification objects. Contact your Akamai representative for details on this object’s requirements.
  • customCertificates (object): With originCertsToHonor set to either CUSTOM_CERTIFICATES or COMBO, specifies an array of certification objects. Contact your Akamai representative for details on this object’s requirements.
  • httpPort (number): Specifies the port on your origin server to which edge servers should connect for HTTP requests, customarily 80.
  • httpsPort (number): Specifies the port on your origin server to which edge servers should connect for secure HTTPS requests, customarily 443. This option only applies if the property is marked as secure. See the Rules section for details on the is_secure property option.

Property Manager Name: Origin Server

originCharacteristics

Specifies characteristics of the origin. Akamai uses this information to optimize your metadata configuration, which may result in better origin offload and end-user performance.

See also these related behaviors: contentCharacteristics, contentCharacteristicsAMD, contentCharacteristicsDD, and clientCharacteristics.

Options:

  • country (enum string): Specifies the origin’s geographic region, or UNKNOWN to defer any optimizations based on geography. Regions include GLOBAL_MULTI_GEO, EUROPE, NORDICS, GERMANY, UNITED_KINGDOM, ITALY, INDIA, JAPAN, TAIWAN, ASIA_PACIFIC, AUSTRALIA, LATIN_AMERICA, MEXICO, SOUTH_AMERICA, US_CENTRAL, US_EAST, US_WEST, NORTH_AMERICA, OTHER_AMERICAS, OTHER_APJ (Asia, Pacific, Japan), or OTHER_EMEA (Europe, Middle East, Africa).

Property Manager Name: Origin Characteristics

persistentClientConnection

This read-only behavior activates persistent connections between edge servers and clients, which allow for better performance and more efficient use of resources. Compare with the persistentConnection behavior, which configures persistent connections for the entire journey from origin to edge to client. Contact Akamai Professional Services for help configuring either.

WARNING: Disabling or removing this behavior may negatively affect performance.

Options:

  • enabled (boolean): Enables the persistent connections behavior.
  • timeout (duration string): Specifies the timeout period after which edge server closes the persistent connection with the client, 500 seconds by default.

Property Manager Name: Persistent Connections: Client to Edge

persistentConnection

A read-only behavior that enables more efficient persistent connections from origin to edge server to client. Compare with the persistentClientConnection behavior, which customizes persistent connections from edge to client. Contact Akamai Professional Services for help configuring either.

WARNING: Disabling this behavior wastes valuable browser resources. Leaving connections open too long makes them vulnerable to attack. Avoid both of these scenarios.

Options:

  • enabled (boolean): Enables persistent connections.
  • timeout (duration string): Specifies the timeout period after which edge server closes a persistent connection.

Property Manager Name: Persistent Connections: Edge to Origin

personallyIdentifiableInformation

Marks content covered by the current rule as sensitive personally identifiable information that needs to be treated as secure and private. That includes anything involving personal information: name, social security number, date and place of birth, mother’s maiden name, biometric data, or any other data linked to an individual. If you attempt to save a property with such a rule that also caches or logs sensitive content, the added behavior results in a validation error.

WARNING: This feature only identifies some vulnerabilities. For example, it does not prevent you from including secure information in a query string or writing it to an origin folder. It also can’t tell whether the SSL protocol is in effect.

Options:

  • enabled (boolean): When enabled, marks content as personally identifiable information (PII).

Property Manager Name: Personally Identifiable Information

phasedRelease

The Phased Release Cloudlet provides gradual and granular traffic management to an alternate origin in near real time. Use the Cloudlets API or the Cloudlets Policy Manager application within the Luna Control Center to set up your Cloudlets policies.

Options:

  • enabled (boolean): Enables the Phased Release Cloudlet.
  • cloudletPolicy (object): Specifies the Cloudlet policy as an object containing two members: a descriptive name string and an integer id set by the Cloudlet application.
  • label (string): A label to distinguish this Phased Release policy from any others within the same property.
  • populationCookieType (enum string): For the population of users the Cloudlet defines, select whether to assign a cookie to them, or else NONE. Other option values specify when the cookie expires: after a specific DURATION, at a FIXED_DATE, once the browser session ends (ON_BROWSER_CLOSE), or NEVER. If you select the Cloudlet’s random membership option, it overrides the option value so that it is effectively NONE.
  • populationExpirationDate (ISO 8601 format date/time string): With the populationCookieType set to FIXED_DATE, this specifies the date and time when membership expires, and the browser no longer sends the cookie. Subsequent requests re-evaluate based on current membership settings.
  • populationDuration (duration string): With the populationCookieType set to DURATION, this sets the lifetime of the cookie from the initial request. Subsequent requests re-evaluate based on current membership settings.
  • populationRefresh (boolean): With the populationCookieType set to DURATION, enabling this option resets the original duration of the cookie if the browser refreshes before the cookie expires.
  • failoverEnabled (boolean): Allows failure responses at the origin defined by the Cloudlet to fail over to the prevailing origin defined by the property.
  • failoverResponseCode (array of string values): With failoverEnabled on, this defines the set of failure codes that initiate the failover response.
  • failoverDuration (number within 0–300 range): Specifies the number of seconds to wait until the client tries to access the failover origin after the initial failure is detected. Set the value to 0 to immediately request the alternate origin upon failure.

Property Manager Name: Phased Release Cloudlet

predictivePrefetching

This behavior potentially reduces the client’s page load time by pre-caching objects based on historical data for the page, not just its current set of referenced objects. It also detects second-level dependencies, such as objects retrieved by JavaScript.

Options:

  • enabled (boolean): Enables the predictive prefetching behavior.
  • accuracyTarget (enum string): The level of prefetching, either LOW, MEDIUM, or HIGH. A higher level results in better client performance, but potentially greater load on the origin.

Property Manager Name: Predictive Prefetching

prefetch

Instructs edge servers to retrieve content linked from requested pages as they load, rather than waiting for separate requests for the linked content. This behavior applies depending on the rule’s set of matching conditions. Use in conjunction with the prefetchable behavior, which specifies the set of objects to prefetch.

Options:

  • enabled (boolean): Applies prefetching behavior when enabled.

Property Manager Name: Prefetch Objects

prefetchable

Allow matching objects to prefetch into the edge cache as the parent page that links to them loads, rather than waiting for a direct request. This behavior applies depending on the rule’s set of matching conditions. Use prefetch to enable the overall behavior for parent pages that contain links to the object.

Options:

  • enabled (boolean): When enabled, allows matching content to prefetch when referenced on a requested parent page.

Property Manager Name: Prefetchable Objects

prefreshCache

Refresh cached content before its time-to-live (TTL) expires, to keep end users from having to wait for the origin to provide fresh content.

Prefreshing starts asynchronously based on a percentage of remaining TTL. The edge serves the prefreshed content only after the TTL expires. If the percentage is set too high, and there is not enough time to retrieve the object, the end user waits for it to refresh from the origin, as is true by default without this prefresh behavior enabled. The edge does not serve stale content.

Options:

  • enabled (boolean): Enables the cache prefreshing behavior.
  • prefreshval (number within 0–99 range): Specifies when the prefresh occurs as a percentage of the TTL. For example, for an object whose cache has 10 minutes left to live, and an origin response that is routinely less than 30 seconds, a percentage of 95 prefreshes the content without unnecessarily increasing load on the origin.

Property Manager Name: Cache Prefreshing

randomSeek

Optimizes .flv and .mp4 files to allow random jump-point navigation.

Options:

  • flv (boolean): Enables random seek optimization in FLV files.
  • mp4 (boolean): Enables random seek optimization in MP4 files.
  • maximumSize (string): With the mp4 option enabled, sets the maximum size of the MP4 file to optimize, expressed as a number suffixed with a unit string such as MB or GB.

Property Manager Name: Random Seek

readTimeout

A read-only behavior that specifies how long the edge server should wait for a response from the requesting forward server after a connection has already been established. Any failure to read aborts the request and sends a 504 Gateway Timeout error to the client. Contact Akamai Professional Services for help configuring this behavior.

Options:

  • value (duration string): Specifies the read timeout necessary before failing with a 504 error. This value should never be zero.

Property Manager Name: Read Timeout

realUserMonitoring

Real User Monitoring (RUM) injects JavaScript into HTML pages served to end-user clients that monitors page-load performance and reports on various data, such as browser type and geographic location. The report behavior allows you to configure logs.

Akamai customers can consult the documentation for Real User Monitoring for more information on this behavior.

Options:

  • enabled (boolean): When enabled, activates real-use monitoring.

Property Manager Name: Real User Monitoring

redirect

Respond to the client request with a redirect without contacting the origin. Specify the redirect as a path expression starting with a / character relative to the current root, or as a fully qualified URL. This behavior relies primarily on destinationHostname and destinationPath to manipulate the hostname and path independently.

See also the redirectplus behavior, which allows you to use variables to express the destination of the redirect.

Options:

  • mobileDefaultChoice (enum string): When set to MOBILE, allows only a 302 response code. When set to DEFAULT, allows all other responseCode values.
  • destinationProtocol (enum string): Choose the protocol for the redirect URL, either HTTP, HTTPS, or SAME_AS_REQUEST to pass through the original protocol.
  • destinationHostname (enum string): Specify how to change the requested hostname, independently from the pathname:

    • SUBDOMAIN prepends a subdomain from the destinationHostSubdomain field.
    • SIBLING replaces the leftmost subdomain with the destinationHostSibling field.
    • OTHER specifies a static domain in the destinationHostnameOther field.
    • SAME_AS_REQUEST preserves the hostname unchanged.
  • destinationHostSubdomain (string; allows variables): If destinationHostname is set to SUBDOMAIN, this specifies a subdomain to prepend to the current hostname. For example, a value of m changes www.example.com to m.www.example.com.
  • destinationHostSibling (string; allows variables): If destinationHostname is set to SIBLING, this specifies the subdomain with which to replace to the current hostname’s leftmost subdomain. For example, a value of m changes www.example.com to m.example.com.
  • destinationHostnameOther (string; allows variables): If destinationHostname is set to OTHER, this specifies the full hostname with which to replace the current hostname.
  • destinationPath (enum string): Specify how to change the requested pathname, independently from the hostname:

    • PREFIX_REQUEST prepends a path with the destinationPathPrefix field. You also have the option to specify a suffix using destinationPathSuffix and destinationPathSuffixStatus.
    • OTHER replaces the current path with the destinationPathOther field.
    • SAME_AS_REQUEST preserves the current path unchanged.
  • destinationPathPrefix (string; allows variables): When destinationPath is set to PREFIX_REQUEST, this prepends the current path. For example, a value of /prefix/path changes /example/index.html to /prefix/path/example/index.html.
  • destinationPathSuffixStatus (enum string): When destinationPath is set to PREFIX_REQUEST, this gives you the option of adding a suffix. Specify NO_SUFFIX if you want to preserve the end of the path unchanged. If you specify SUFFIX, the destinationPathSuffix provides the value.
  • destinationPathSuffix (string; allows variables): When destinationPath is set to PREFIX_REQUEST and destinationPathSuffixStatus is set to SUFFIX, this specifies the suffix to append to the path.
  • destinationPathOther (string; allows variables): When destinationPath is set to PREFIX_REQUEST, this replaces the current path.
  • queryString (enum string): When set to APPEND, passes incoming query string parameters as part of the redirect URL. Otherwise set this to IGNORE.
  • responseCode (numeric enum): Specify the redirect’s response code: 301 (Moved Permanently), 302 (Found), 303 (See Other), or 307 (Temporary Redirect).

Property Manager Name: Redirect

redirectplus

Respond to the client request with a redirect without contacting the origin. This behavior fills the same need as redirect, but allows you to use variables to express the redirect destination’s component values more concisely.

Options:

  • enabled (boolean): Enables the redirect feature.
  • destination (string; allows variables): Specifies the redirect as a path expression starting with a / character relative to the current root, or as a fully qualified URL. Optionally inject variables, as in this example that refers to the original request’s filename: /path/to/{{builtin.AK_FILENAME}}.
  • responseCode (numeric enum): Assigns the status code for the redirect response, either 301, 302, 303, or 307.

Property Manager Name: Redirect Plus

refererChecking

Limits allowed requests to a set of domains you specify.

Options:

  • enabled (boolean): Enables the referer-checking behavior.
  • strict (boolean): When enabled, excludes requests whose Referer header include a relative path, or that are missing a Referer. When disabled, only excludes requests whose Referer hostname is not part of the domains set.
  • domains (array of string values): Specifies the set of allowed domains. With allowChildren disabled, prefixing values with *. specifies domains for which subdomains are allowed.
  • allowChildren (boolean): When enabled, allows all subdomains for the domains set, just like adding a *. prefix to each.

Property Manager Name: Legacy Referrer Checking

removeQueryParameter

Remove named query parameters before forwarding the request to the origin.

Options:

  • parameters (array of string values): Specifies parameters to remove from the request.

Property Manager Name: Remove Outgoing Request Parameters

removeVary

By default, responses that feature a Vary header value of anything other than Accept-Encoding and a corresponding Content-Encoding: gzip header aren’t cached on edge servers. Vary headers indicate when a URL’s content varies depending on some variable, such as which User-Agent requests it. This behavior simply removes the Vary header to make responses cacheable.

WARNING: If your site relies on Vary: User-Agent to customize content, removing the header may lead the edge to serve content inappropriate for specific devices.

Options:

  • enabled (boolean): When enabled, removes the Vary header to ensure objects can be cached.

Property Manager Name: Remove Vary Header

report

Specify the HTTP request headers or cookie names to log in your Log Delivery Service reports.

Options:

  • logHost (boolean): Log the Host header.
  • logReferer (boolean): Log the Referer header.
  • logUserAgent (boolean): Log the User-Agent header.
  • logAcceptLanguage (boolean): Log the Accept-Language header.
  • logCookies (enum string): With a set of defined cookie names, specifies whether you want to log ALL or SOME cookies, or to turn OFF the feature to stop logging cookies.
  • cookies (array of string values): With logCookies set to SOME, this specifies the set of cookies names whose values you want to log.
  • logCustomLogField (boolean): Whether to append additional custom data to each log line.
  • customLogField (string; allows variables): With logCustomLogField enabled, specifies an additional data field to append to each log line, maximum 40 bytes, typically based on a dynamically generated built-in system variable. For example, round-trip: {{builtin.AK_CLIENT_TURNAROUND_TIME}}ms would log the total time to complete the response.

Property Manager Name: Log Request Details

requestControl

The Request Control Cloudlet allows you to control access to your web content based on the incoming request’s IP or geographic location. With cloudlets available on your contract, choose ConfigureCloudlets to control how the feature works, or use the Cloudlets API to configure it programmatically.

Options:

  • enabled (boolean): Enables the Request Control Cloudlet.
  • cloudletPolicy (object): Identifies the Cloudlet policy in an object featuring unique numeric id and descriptive string name members.
  • enableBranded403 (boolean): If enabled, serves a branded 403 page for this Cloudlet instance.
  • branded403StatusCode (numeric enum): Specifies the response status code for the branded deny action, either 200, 302, 403, or 503.
  • netStorage (object): Specifies the NetStorage domain that contains the branded 403 page.
  • branded403File (string): Specifies the full path of the branded 403 page, including the filename, but excluding the NetStorage CP code path component.
  • branded403Url (string): Specifies the redirect URL for the branded deny action.
  • brandedDenyCacheTtl (number within 5–30 range): Specifies the branded response page’s time to live in the cache, 5 minutes by default.

Property Manager Name: Request Control Cloudlet

responseCode

Change the existing response code. For example, if your origin sends a 301 permanent redirect, this behavior can change it on the edge to a temporary 302 redirect.

Options:

  • statusCode (numeric enum): The HTTP status code to replace the existing one, any of the following:
100
101
102
103
122
200
201
202
203
204
205
206
207
226
300
301
302
303
304
305
306
307
308
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
422
423
424
425
426
428
429
431
444
449
450
499
500
501
502
503
504
505
506
507
509
510
511
598
599
  • override206 (boolean): When enabled, allows any specified 200 success code to override a 206 partial-content code, in which case the response’s content length matches the requested range length.

Property Manager Name: Set Response Code

responseCookie

Set a cookie to send downstream to the client, either with a fixed value or a unique stamp.

Options:

  • enabled (boolean): When enabled, allows you to set a response cookie.
  • cookieName (string; allows variables): Specifies the name of the cookie, which serves as a key to determine if the cookie is set.
  • type (enum string): Assign either a UNIQUE value, or a FIXED one based on the value field.
  • value (string; allows variables): If the cookie type is FIXED, this specifies the cookie value.
  • format (enum string): When the type of cookie is set to UNIQUE, set this to either APACHE or AKAMAI format. The latter format adds milliseconds to the date stamp.
  • defaultDomain (boolean): When enabled, uses the default domain value, otherwise the set specified in the domain field.
  • defaultPath (boolean): When enabled, uses the default path value, otherwise the set specified in the path field.
  • domain (string; allows variables): If the defaultDomain is disabled, this sets the domain for which the cookie is valid. For example, example.com makes the cookie valid for that hostname and all subdomains.
  • path (string; allows variables): If the defaultPath is disabled, sets the path component for which the cookie is valid.
  • expires (enum string): Sets various ways to specify when the cookie expires:

    • A value of NEVER lets the cookie persist indefinitely.
    • A value of ON_BROWSER_CLOSE limits the cookie to the duration of the session.
    • A value of DURATION requires a corresponding DURATION field value.
    • A value of FIXED_DATE requires a corresponding expirationDate field value.
  • expirationDate (ISO 8601 format date/time string): If expires is set to FIXED_DATE, this sets when the cookie expires as a UTC date and time.
  • duration (duration string): If expires is set to DURATION, this sets the cookie’s lifetime.
  • secure (boolean): When enabled, sets the cookie’s Secure flag to transmit it with HTTPS.

Property Manager Name: Set Response Cookie

restrictObjectCaching

A read-only behavior that is required to deploy the Object Caching product. It disables serving HTML content and limits the maximum object size to 100MB. Contact Akamai Professional Services for help configuring it.

Options:

  • disableHtml (read-only string): Disables edge caching for HTML content.
  • maximumSize (read-only string): Specifies a fixed maximum size of non-HTML content to cache.

Property Manager Name: Object Caching

rewriteUrl

Modifies the path of incoming requests to forward to the origin. This helps you offload URL-rewriting tasks to the edge to increase the origin server’s performance, allows you to redirect links to different targets without changing markup, and hides your original directory structure.

Except for regular expression replacements, this behavior manipulates path expressions, which start and end with a / character.

Options:

  • behavior (enum string): The action to perform on the path:

    • If set to PREPEND, specify the targetPathPrepend. For example, if set to /prefix/, /path1/page.html changes to /prefix/path1/page.html.

    • If set to REPLACE, specify the match and targetPath. For example, a match of /path1/ and a targetPath of /path1/path2/ changes /path1/page.html to /path1/path2/page.html.

    • If set to REGEX_REPLACE, specify the matchRegex and targetRegex. For example, specifying logo\\.(png|gif|jpe?g) and brand\$1 changes logo.png to brand.png.

    • If set to REWRITE, specify the targetUrl. For example, you can direct traffic to /error/restricted.html.

    • If set to REMOVE, specify the match. For example, a match of /path2/ changes /path1/path2/page.html to /path1/page.html.

  • match (string): When behavior is REMOVE or REPLACE, specifies the part of the incoming path you’d like to remove or modify.
  • matchRegex (string): When behavior is set to REGEX_REPLACE, specifies the Perl-compatible regular expression to replace with targetRegex.
  • targetRegex (string; allows variables): When behavior is set to REGEX_REPLACE, this replaces whatever the matchRegex field matches, along with any captured sequences from \$1 through \$9.
  • targetPath (string; allows variables): When behavior is set to REPLACE, this path replaces whatever the match field matches in the incoming request’s path.
  • targetPathPrepend (string; allows variables): When behavior is set to PREPEND, specifies a path to prepend to the incoming request’s URL.
  • targetUrl (string; allows variables): When behavior is set to REWRITE, specifies the full path to request from the origin.
  • matchMultiple (boolean): When enabled, replaces all potential matches rather than only the first.
  • keepQueryString (boolean): When enabled, retains the original path’s query parameters.

Property Manager Name: Modify Outgoing Request Path

rmaOptimization

This behavior is deprecated. Do not add it to any properties.

This behavior does not include any options. Specifying the behavior itself enables it.

Property Manager Name: RMA Optimizations

saasDefinitions

Configures how the Software as a Service feature identifies customers, applications, and users. A different set of options is available for each type of targeted request, each enabled with the action-suffixed option. In each case, you can use PATH, COOKIE, QUERY_STRING, or HOSTNAME components as identifiers, or disable the SaaS behavior for certain targets. If you rely on a HOSTNAME, you also have the option of specifying a CNAME chain rather than an individual hostname. The various options suffixed regex and replace subsequently remove the identifier from the request. This behavior requires a sibling origin behavior whose originType option is set to SAAS_DYNAMIC_ORIGIN.

Options:

  • applicationAction (enum string): Specifies the request component that identifies a SaaS application, either COOKIE, HOSTNAME, PATH, or QUERY_STRING. Setting it to DISABLED effectively ignores applications.
  • applicationCookie (string): With applicationAction set to COOKIE, this specifies the name of the cookie that identifies the application.
  • applicationQueryString (string): With applicationAction set to QUERY_STRING, this names the query parameter that identifies the application.
  • applicationCnameEnabled (boolean): With applicationAction set to HOSTNAME, enabling this allows you to identify applications using a CNAME chain rather than a single hostname.
  • applicationCnameLevel (number): With applicationCnameEnabled on, this specifies the number of CNAMEs to use in the chain.
  • applicationRegex (string): Specifies a Perl-compatible regular expression with which to substitute the request’s application ID.
  • applicationReplace (string): Specifies a string to replace the request’s application ID matched by applicationRegex.
  • customerAction (enum string): Specifies the request component that identifies a SaaS customer, either COOKIE, HOSTNAME, PATH, or QUERY_STRING. Setting it to DISABLED effectively ignores customers.
  • customerCookie (string): With customerAction set to COOKIE, this specifies the name of the cookie that identifies the customer.
  • customerQueryString (string): With customerAction set to QUERY_STRING, this names the query parameter that identifies the customer.
  • customerCnameEnabled (boolean): With customerAction set to HOSTNAME, enabling this allows you to identify customers using a CNAME chain rather than a single hostname.
  • customerCnameLevel (number): With customerCnameEnabled on, this specifies the number of CNAMEs to use in the chain.
  • customerRegex (string): Specifies a Perl-compatible regular expression with which to substitute the request’s customer ID.
  • customerReplace (string): Specifies a string to replace the request’s customer ID matched by customerRegex.
  • usersAction (enum string): Specifies the request component that identifies a SaaS user, either COOKIE, HOSTNAME, PATH, or QUERY_STRING. Setting it to DISABLED effectively ignores users.
  • usersCookie (string): With usersAction set to COOKIE, this specifies the name of the cookie that identifies the user.
  • usersQueryString (string): With usersAction set to QUERY_STRING, this names the query parameter that identifies the user.
  • usersCnameEnabled (boolean): With usersAction set to HOSTNAME, enabling this allows you to identify users using a CNAME chain rather than a single hostname.
  • usersCnameLevel (number): With userCnameEnabled on, this specifies the number of CNAMEs to use in the chain.
  • usersRegex (string): Specifies a Perl-compatible regular expression with which to substitute the request’s user ID.
  • usersReplace (string): Specifies a string to replace the request’s user ID matched by usersRegex.

Property Manager Name: SaaS Definitions

savePostDcaProcessing

A read-only behavior, used in conjunction with the cachePost behavior, that allows the body of POST requests to be processed through Dynamic Content Assembly. Contact Akamai Professional Services for help configuring it.

Options:

  • enabled (boolean): Enables processing of POST requests.

Property Manager Name: Save POST DCA processing result

scheduleInvalidation

Specifies when cached content that satisfies a rule’s criteria expires, optionally at repeating intervals. In addition to periodic cache flushes, you can use this behavior to minimize potential conflicts when related objects expire at different times.

WARNING: scheduled invalidations can significantly increase origin servers’ load when matching content expires simultaneously across all edge servers. As best practice, schedule expirations during periods of lowest traffic.

Options:

  • start (ISO 8601 format date/time string): The UTC date and time when matching cached content is to expire.
  • repeat (boolean): When enabled, invalidation recurs periodically from the start time based on the repeatInterval time.
  • repeatInterval (duration string): With repeat enabled, specifies how often to invalidate content from the start time, expressed in seconds. For example, an expiration set to midnight and an interval of 86400 seconds invalidates content once a day. Repeating intervals of less than 5 minutes are not allowed for NetStorage origins.
  • refreshMethod (enum string): Specifies how to invalidate the content. Setting it to INVALIDATE sends an If-Modified-Since request to the origin, re-caching the content only if it is fresher. Setting it to PURGE re-caches content regardless of its freshness, potentially creating more traffic at the origin.

Property Manager Name: Scheduled Invalidation

segmentedContentProtection

Validates authorization tokens at the edge server to prevent unauthorized link sharing.

Options:

  • enabled (boolean): Enables the segmented content protection behavior.
  • key (string): Specifies the encryption key to use as a shared secret to validate tokens.
  • useAdvanced (boolean): When enabled, allows you to specify advanced transitionKey and salt options.
  • transitionKey (string): An alternate encryption key to match along with the key field, allowing you to rotate keys with no down time.
  • salt (string): Specifies a salt as input into the token for added security. This value must match the salt used in the token generation code.
  • failureResponse (enum string): Either VERIFY_AND_DENY or VERIFY_ONLY.
  • hlsMediaEncryption (boolean): Enables HLS Segment Encryption.
  • encryptionMode (enum string): With hlsMediaEncryption enabled, specifies the encryption algorithm, the only valid value for which is AES128.
  • useAdvancedOption (boolean): With hlsMediaEncryption enabled, allows you to use advanced encryption options.
  • iv (string): With hlsMediaEncryption and useAdvancedOption both enabled, this specifies the initialization vector used to generate the encryption key.

Property Manager Name: Segmented Media Protection

segmentedMediaOptimization

Optimizes segmented media for live or streaming delivery contexts.

Options:

  • behavior (enum string): Set to either cached ON_DEMAND, or streaming LIVE. Only ON_DEMAND is allowed for NetStorage origins.
  • showAdvanced (boolean): When enabled, allows you to configure advanced media options.
  • liveType (enum string): The type of live media, either CONTINUOUS or an EVENT for a range of time.
  • startTime (ISO 8601 format date/time string): With liveType set to EVENT, this specifies when the live media event begins.
  • endTime (ISO 8601 format date/time string): With liveType set to EVENT, this specifies when the live media event ends.
  • dvrType (enum string): The type of DVR, either CONFIGURABLE or UNKNOWN.
  • dvrWindow (duration string): Set the duration for your media, or 0m if a DVR is not required.

Property Manager Name: Segmented Media Delivery Mode

setVariable

Modify a variable to insert into subsequent fields within the rule tree. Use this behavior to specify the predeclared variableName and determine from where to derive its new value. Based on this valueSource, you can either generate the value, extract it from some part of the incoming request, assign it from another variable (including a set of built-in system variables), or directly specify its text. Optionally choose a transform function to modify the value once.

See Inserting Variables and the sections that follow for guidance on how to manipulate a set of variables within a rule tree.

Options:

  • variableName (string): Specifies the predeclared root name of the variable to modify. When you declare a variable name such as VAR, its name is preprended with PMUSER_ and accessible in a user namespace, so that you invoke it in subsequent text fields within the rule tree as {{user.PMUSER_VAR}}. In deployed XML metadata, it appears as %(PMUSER_VAR).
  • valueSource (enum string): Determines how you want to set the value: either GENERATE it, EXTRACT it from another value, or specify your own string EXPRESSION.
  • variableValue (string; allows variables): With valueSource set to EXPRESSION, this directly specifies the value to assign to the variable. The expression may include a mix of static text and other variables, such as new_filename.{{builtin.AK_EXTENSION}} to embed a system variable.
  • extractLocation (enum string): With valueSource set to EXTRACT, this specifies from where to get the value, either the CLIENT_CERTIFICATE, CLIENT_REQUEST_HEADER, COOKIE, EDGESCAPE (for location or network data), PATH_COMPONENT_NAME, PATH_COMPONENT_OFFSET, PATH_PARAMETER, or QUERY_STRING.
  • certificateFieldName (enum string): With extractLocation set to CLIENT_CERTIFICATE, specifies the certificate’s content, either:

    • CONTENTS_DER: The entire DER-encoded certificate, expressed in hex.
    • CONTENTS_PEM: The PEM-formatted certificate encoded as a single line of base64 characters.
    • CONTENTS_PEM_NO_LABELS: Same as CONTENTS_PEM, but not including the certificate’s header and footer.
    • COUNT: The number of client certificates received.
    • FINGERPRINT_DYN: The hex-encoded fingerprint generated based on the SIGNATURE_ALGORITHM.
    • FINGERPRINT_MD5: The hex-encoded MD5 fingerprint.
    • FINGERPRINT_SHA1: The hex-encoded SHA1 fingerprint.
    • ISSUER_DN: The distinguished name field for the certificate’s issuer.
    • KEY_LENGTH: The size of the key in bits.
    • NOT_AFTER: The end of the time range, expressed in YYYY/MM/DD HH:MI:SS ZONE format, where the zone is optional.
    • NOT_BEFORE: The start of the time range, expressed in YYYY/MM/DD HH:MI:SS ZONE format, where the zone is optional.
    • SERIAL: The serial number, expressed in hex.
    • SIGNATURE_ALGORITHM: The algorithm used to generate the certificate’s signature.
    • SIGNATURE: The certificate’s signature, expressed in hex.
    • STATUS_MSG: A short message indicating the status of a certificate’s validation, such as ok or missing.
    • SUBJECT_DN: The distinguished name field for the user.
    • VERSION: The certificate’s X509 version number.
  • headerName (string): With extractLocation set to CLIENT_REQUEST_HEADER, specifies the case-insensitive name of the HTTP header to extract.
  • cookieName (string): With extractLocation set to COOKIE, specifies the name of the cookie to extract.
  • locationId (enum string): With extractLocation set to EDGESCAPE, specifies the X-Akamai-Edgescape header’s field name. Possible values specify basic geolocation, various geographic standards, and information about the client’s network:

    • Two-letter CONTINENT, ISO–3166 COUNTRY_CODE or REGION_CODE, COUNTY, CITY, TIMEZONE, AREACODE, ZIP, LAT, and LONG.
    • ASNUM (Autonomous System Number), DMA (Designated Market Area), FIPS (Federal Information Processing System code), MSA (Metropolitan Statistical Area), and PMSA (Primary Metropolitan Statistical Area).
    • NETWORK (name), NETWORK_TYPE, or tiered level of THROUGHPUT or BW (bandwidth).

    For details on EdgeScape header fields, see the EdgeScape User Guide.

  • pathComponentOffset (string): With extractLocation set to PATH_COMPONENT_OFFSET, this specifies a portion of the path. The indexing starts from 1, so a value of /path/to/nested/filename.html and an offset of 1 yields path, and 3 yields nested. Negative indexes offset from the right, so -2 also yields nested.
  • queryParameterName (string): With extractLocation set to QUERY_STRING, specifies the name of the query parameter from which to extract the value.
  • generator (enum string): With valueSource set to GENERATE, this specifies the type of value to generate: either RAND for a random number, or HEXRAND for a random hex sequence.
  • numberOfBytes (number within 1–16 range): With valueSource set to GENERATE and the generator set to HEXRAND, this specifies the number of random hex bytes to generate.
  • minRandomNumber (string; allows variables): With valueSource set to GENERATE and the generator set to RAND, this specifies the lower bound of the random number.
  • maxRandomNumber (string; allows variables): With valueSource set to GENERATE and the generator set to RAND, this specifies the upper bound of the random number.
  • transform (enum string): Specifies a function to transform the value, either NONE for no transformation, or any from the following categories:

    • Arithmetic: ADD, SUBTRACT, MINUS (reverse sign), MULTIPLY, DIVIDE, and MODULO (get remainder).
    • Strings: SUBSTITUTE, LOWER, UPPER, SUBSTRING, STRING_INDEX (locate a substring), STRING_LENGTH, REMOVE_WHITESPACE, TRIM (surrounding whitespace), and EXTRACT_PARAM.
    • String conversions: HEX_ENCODE/HEX_DECODE, XML_ENCODE/XML_DECODE. URL_ENCODE/URL_DECODE/URL_DECODE_UNI (Unicode), NORMALIZE_PATH_WIN (convert Windows paths to Unix format and remove relative path syntax)
    • Bitwise operations: BITWISE_AND, BITWISE_OR, BITWISE_XOR, and BITWISE_NOT.
    • Numeric conversion: DECIMAL_TO_HEX, HEX_TO_DECIMAL.
    • Encoding/decoding: DECRYPT/ENCRYPT, BASE_64_ENCODE/BASE_64_DECODE.
    • Generate digests: SHA_1, SHA_256, MD5, a base64-encoded HMAC key, or a simple HASH integer.
    • Time formats: UTC_SECONDS (epoch time), EPOCH_TO_STRING, and STRING_TO_EPOCH.
    • Networking: NETMASK (apply a netmask to an IP address to specify the network’s available hosts).

    For more details on each transform function, see Set Variable: Transforms in the Luna portal.

  • operandOne (string; allows variables): Specifies an additional operand when the transform function is set to various arithmetic functions (ADD, SUBTRACT MULTIPLY, DIVIDE, or MODULO) or bitwise functions (BITWISE_AND, BITWISE_OR, or BITWISE_XOR).
  • algorithm (enum string): With the transform function set to either ENCRYPT or DECRYPT, this specifies the algorithm to apply, either ALG_AES128 or ALG_AES256 (Advanced Encryption Standard, 128 or 256 bits), or ALG_3DES (Triple DES).
  • encryptionKey (string; allows variables): With the transform function set to either ENCRYPT or DECRYPT, this specifies the encryption hex key. For ALG_3DES it must be 48 characters long, 32 characters for ALG_AES128, and 64 characters for ALG_AES256.
  • initializationVector (string): With the transform function set to either ENCRYPT or DECRYPT, specifies a one-time number as an initialization vector. It must be 15 characters long for ALG_3DES, and 32 characters for both ALG_AES128 and ALG_AES256.
  • encryptionMode (enum string): With the transform function set to either ENCRYPT or DECRYPT, specifies either CBC (Cipher Block Chaining) or ECB (Electronic Codebook) encryption modes.
  • nonce (string; allows variables): With the transform function set to either ENCRYPT or DECRYPT, specifies the one-time number used for encryption.
  • prependBytes (boolean): With the transform function set to either ENCRYPT or DECRYPT, specifies a number of random bytes to prepend to the key.
  • formatString (string): With the transform function set to either EPOCH_TO_STRING or STRING_TO_EPOCH, this specifies an optional format string for the conversion, using format codes such as %m/%d/%y as specified by strftime. A blank value defaults to RFC–2616 format.
  • paramName (string; allows variables): With the transform function set to EXTRACT_PARAM, this extracts the value for the specified parameter name from a string that contains key/value pairs. (Use separator below to parse them.)
  • separator (string): With the transform function set to EXTRACT_PARAM, this specifies the character that separates pairs of values within the string.
  • min (number): With the transform function set to HASH, specifies a minimim value for the generated integer.
  • max (number): With the transform function set to HASH, specifies a maximum value for the generated integer
  • hmacKey (string; allows variables): With the transform function set to HMAC, specifies the secret to use in generating the base64-encoded digest.
  • hmacAlgorithm (enum string): With the transform function set to HMAC, specifies the algorithm to use to generate the base64-encoded digest, either MD5, SHA1, or SHA256.
  • ipVersion (enum string): With the transform function set to NETMASK, this specifies the IP version under which a subnet mask generates, either IPV4 or IPV6.
  • ipv6Prefix (number within 0–128 range): With the transform function set to NETMASK and the ipVersion set to IPV6, specifies the prefix of the IPV6 address, a value between 0 and 128.
  • ipv4Prefix (number within 0–32 range): With the transform function set to NETMASK and the ipVersion set to IPV4, specifies the prefix of the IPV4 address, a value between 0 and 32.
  • subString (string; allows variables): With the transform function set to STRING_INDEX, specifies a substring for which the returned value represents a zero-based offset of where it appears in the original string, or -1 if there’s no match.
  • regex (string): With the transform function set to SUBSTITUTE, this specifies the regular expression pattern (PCRE) to match the value.
  • replacement (string; allows variables): With the transform function set to SUBSTITUTE, this specifies the replacement string. Reinsert grouped items from the match into the replacement using $1, $2$n.
  • caseSensitive (boolean): With the transform function set to SUBSTITUTE, enabling this makes all matches case sensitive.
  • globalSubstitution (boolean): With the transform function set to SUBSTITUTE, enabling this replaces all matches in the string, not just the first.
  • startIndex (string; allows variables): With the transform function set to SUBSTRING, specifies the zero-based character offset at the start of the substring. Negative indexes specify the offset from the end of the string.
  • endIndex (string; allows variables): With the transform function set to SUBSTRING, specifies the zero-based character offset at the end of the substring. Negative indexes specify the offset from the end of the string.
  • exceptChars (string): With the transform function set to URL_ENCODE, specifies characters not to encode, possibly overriding the default set.
  • forceChars (string): With the transform function set to URL_ENCODE, specifies characters to encode, possibly overriding the default set.

Property Manager Name: Set Variable

shutr

The SHUTR protocol extends HTTP to reduce the amount of header data necessary for web transactions with mobile devices.

This behavior does not include any options. Specifying the behavior itself enables it.

Property Manager Name: SHUTR

simulateErrorCode

A read-only behavior that simulates various error response codes. Contact Akamai Professional Services for help configuring it.

Options:

  • errorType (enum string): Specifies the type of error, any of the following:
ERR_CONNECT_FAIL
ERR_CONNECT_TIMEOUT
ERR_DNS_FAIL
ERR_DNS_IN_REGION
ERR_DNS_TIMEOUT
ERR_NO_GOOD_FWD_IP
ERR_READ_ERROR
ERR_READ_TIMEOUT
ERR_SUREROUTE_DNS_FAIL
ERR_WRITE_ERROR
  • timeout (duration string): When the errorType is ERR_CONNECT_TIMEOUT, ERR_DNS_TIMEOUT, ERR_SUREROUTE_DNS_FAIL, or ERR_READ_TIMEOUT, generates an error after the specified amount of time from the initial request.

Property Manager Name: Simulate Error Response Code

siteShield

A read-only behavior implementing the SiteShield feature, which helps prevent non-Akamai machines from contacting your origin. Your service representative periodically sends you a list of Akamai servers allowed to contact your origin, with which you establish an Access Control List on your firewall to prevent any other requests.

Options:

  • ssmap (string): The hostname that identifies the SiteShield map, available from your Akamai representative.

Property Manager Name: SiteShield

spdy

Applies the SPDY protocol, which enhances HTTPS traffic by using many concurrent connections to download objects within one TCP connection. You can only apply this behavior if the property is marked as secure. See the Rules section for details on the is_secure property option.

This behavior does not include any options. Specifying the behavior itself enables it.

Property Manager Name: SPDY

subCustomer

Enables various features of the Content Policy API, which allows Akamai partners to specify dynamic content policies for their customers’ content, supplementing the rules defined within the current property.

Options:

  • enabled (boolean): Allows the Content Policy API to dynamically modify content.
  • origin (boolean): Allows you to set the origin host.
  • caching (boolean): Allows you to modify content caching rules.
  • referrer (boolean): Allows you to set the referrer whitelist or blacklist.
  • ip (boolean): Allows you to specify an IP whitelist or blacklist.
  • geoLocation (boolean): Allows you to specify a location-based whitelist or blacklist.
  • refreshContent (boolean): Allows you to schedule when custom content is to revalidate.
  • modifyPath (boolean): Allows you to modify the request path.
  • cacheKey (boolean): Allows you to set which query parameters are included in the cache key.

Property Manager Name: Sub-Customer Enablement

sureRoute

The SureRoute feature continually tests different routes between origin and edge servers to identify the optimal path. By default, it conducts races to identify alternative paths to use in case of a transmission failure. These races increase origin traffic slightly.

This behavior allows you to configure SureRoute along with a test object to improve delivery of non-cacheable no-store or bypass-cache content. Since edge servers are already positioned as close as possible to requesting clients, the behavior does not apply to cacheable content.

Options:

  • enabled (boolean): Enables the SureRoute behavior, to optimize delivery of non-cached content.
  • type (enum string): Specifies the set of edge servers used to test routes, either the default PERFORMANCE or a CUSTOM_MAP that must be provided to you by Akamai Professional Services.
  • customMap (string): If type is CUSTOM_MAP, this specifies the map string provided to you by Akamai Professional Services, or included as part of the SiteShield product.
  • testObjectUrl (string): Specifies the path and filename for your origin’s test object to use in races to test routes.

    Akamai provides sample test objects for the Dynamic Site Accelerator and Web Application Accelerator products. If you want to use your own test object, it needs to be on the same origin server as the traffic being served through SureRoute. Make sure it returns a 200 HTTP response and does not require authentication. The file should be an average-sized static HTML file (Content-Type: text/html) that is no smaller than 8KB, with no back-end processing.

If you have more than one origin server deployed behind a load balancer, you can configure it to serve the test object directly on behalf of the origin, or route requests to the same origin server to avoid deploying the test object on each origin server.

  • toHostStatus (enum string): If set to INCOMING_HH, uses the incoming Host header when requesting the SureRoute test object. If set to OTHER, use toHost to specify a custom Host header.
  • toHost (string): If toHostStatus is OTHER, this specifies the custom Host header to use when requesting the SureRoute test object.
  • raceStatTtl (duration string): Specifies the time-to-live to preserve SureRoute race results, typically 30m. If traffic exceeds a certain threshold after TTL expires, the overflow is routed directly to the origin, not necessarily optimally. If traffic remains under the threshold, the route is determined by the winner of the most recent race.
  • forceSslForward (boolean): Forces SureRoute to use SSL when requesting the origin’s test object, appropriate if your origin does not respond to HTTP requests, or responds with a redirect to HTTPS.
  • enableCustomKey (boolean): When disabled, caches race results under the race destination’s hostname. If enabled, use customStatKey to specify a custom hostname.
  • customStatKey (string): With enableCustomKey enabled, this specifies a hostname under which to cache race results. This may be useful when a property corresponds to many origin hostnames. By default, SureRoute would launch races for each origin, but consolidating under a single hostname runs only one race.

Property Manager Name: SureRoute

tcpOptimization

Enables a suite of optimizations targeting buffers, time-outs, and packet loss that improve transmission performance. This behavior is deprecated, but you should not disable or remove it if present.

This behavior does not include any options. Specifying the behavior itself enables it.

Property Manager Name: TCP Optimizations

teaLeaf

Allows IBM Tealeaf Customer Experience on Cloud to record HTTPS requests and responses for Akamai-enabled properties. Recorded data becomes available in your IBM Tealeaf account.

Options:

  • enabled (boolean): When enabled, capture HTTPS requests and responses, and send the data to your IBM Tealeaf account.
  • limitToDynamic (boolean): Limit traffic to dynamic, uncached (No-Store) content.
  • ibmCustomerId (number): The integer identifier for the IBM Tealeaf Connector account.

Property Manager Name: IBM Tealeaf Connector

tieredDistribution

This behavior allows Akamai edge servers to retrieve cached content from other Akamai servers, rather than directly from the origin. These interim parent servers in the cache hierarchy (CH) are positioned close to the origin, and fall along the path from the origin to the edge server. Tiered Distribution typically reduces the origin server’s load, and reduces the time it takes for edge servers to refresh content.

Options:

  • enabled (boolean): When enabled, activates tiered distribution.
  • tieredDistributionMap (enum string): Optionally map the tiered parent server’s location close to your origin: CHEU2 for Europe; CHAUS for Australia; CHAPAC for China and the Asian Pacific area; CHWUS2, CHCUS2, and CHEUS2 for different parts of the United States. Choose CH or CH2 for a more global map. A narrower local map minimizes the origin server’s load, and increases the likelihood the requested object is cached. A wider global map reduces end-user latency, but decreases the likelihood the requested object is in any given parent server’s cache. This option cannot apply if the property is marked as secure. See the Rules section for details on the is_secure property option.

Property Manager Name: Tiered Distribution

timeout

Sets the HTTP connect timeout.

Options:

  • value (duration string): Specifies the timeout, for example 10s.

Property Manager Name: Connect Timeout

validateEntityTag

Instructs edge servers to compare the request’s ETag header with that of the cached object. If they differ, the edge server sends a new copy of the object. This validation occurs in addition to the default validation of Last-Modified and If-Modified-Since headers.

Options:

  • enabled (boolean): Enables the ETag validation behavior.

Property Manager Name: Validate Entity Tag

verifyTokenAuthorization

Verifies Auth 2.0 tokens.

Options:

  • useAdvanced (boolean): If enabled, allows you to specify advanced options such as algorithm, escapeHmacInputs, ignoreQueryString, transitionKey, and salt.
  • location (enum string): Specifies where to find the token in the incoming request, either CLIENT_REQUEST_HEADER, QUERY_STRING, or COOKIE.
  • locationId (string): When location is CLIENT_REQUEST_HEADER, specifies the name of the incoming request’s header where to find the token.
  • algorithm (enum string): With useAdvanced enabled, specifies the algorithm that generates the token, either SHA256, SHA1, or MD5, in order of descending security. It must match the method chosen in the token generation code.
  • escapeHmacInputs (boolean): With useAdvanced enabled, URL-escapes HMAC inputs passed in as query parameters.
  • ignoreQueryString (boolean): With useAdvanced enabled, enabling this removes the query string from the URL used to form an encryption key.
  • key (string): The shared secret used to validate tokens, which must match the key used in the token generation code.
  • transitionKey (string): With useAdvanced enabled, specifies a transition key as a hex value.
  • salt (string): With useAdvanced enabled, specifies a salt string for input when generating the token, which must match the salt value used in the token generation code.
  • failureResponse (boolean): When enabled, sends an HTTP error when an authentication test fails.

Property Manager Name: Auth Token 2.0 Verification

visitorPrioritization

The Visitor Prioritization Cloudlet is designed to decrease abandonment by providing a user-friendly waiting room experience. With cloudlets available on your contract, choose ConfigureCloudlets to control Visitor Prioritization within the Luna Control Center. Otherwise use the Cloudlets API to configure it programmatically. To serve non-HTML API content such as JSON blocks, see the apiPrioritization behavior.

Options:

  • enabled (boolean): Enables the Visitor Prioritization behavior.
  • cloudletPolicy (object): Identifies the Cloudlet policy in an object featuring unique numeric id and descriptive string name members.
  • userIdentificationByCookie (boolean): When enabled, identifies users by the value of a cookie.
  • userIdentificationKeyCookie (string): With userIdentificationByCookie enabled, specifies the name of the cookie whose value identifies users. To match a user, the value of the cookie needs to remain constant across all requests.
  • userIdentificationByHeaders (boolean): When enabled, identifies users by the values of GET or POST request headers.
  • userIdentificationKeyHeaders (array of string values): With userIdentificationByHeaders enabled, specifies names of request headers whose values identify users. To match a user, values for all the specified headers need to remain constant across all requests.
  • userIdentificationByIp (boolean): When enabled, allows IP addresses to identify users.
  • userIdentificationByParams (boolean): When enabled, identifies users by the values of GET or POST request parameters.
  • userIdentificationKeyParams (array of string values): With userIdentificationByParams enabled, specifies names of request parameters whose values identify users. To match a user, values for all the specified parameters need to remain constant across all requests. Parameters that are absent or blank may also identify users.
  • allowedUserCookieEnabled (boolean): When enabled, sets a cookie for users who have been allowed through to the site.
  • allowedUserCookieLabel (string): With allowedUserCookieEnabled on, specifies a label to distinguish this cookie for an allowed user from others. The value appends to the cookie’s name, and helps you to maintain the same user assignment across behaviors within a property, and across properties.
  • allowedUserCookieDuration (number within 0–600 range): With allowedUserCookieEnabled on, sets the number of seconds for the allowed user’s session once allowed through to the site.
  • allowedUserCookieRefresh (boolean): With allowedUserCookieEnabled on, enabling this resets the duration of an allowed cookie with each request, so that it only expires if the user doesn’t make any requests for the specified duration. Do not enable this option if you want to set a fixed time for all users.
  • allowedUserCookieAdvanced (boolean): With allowedUserCookieEnabled on, sets advanced configuration options for the allowed user’s cookie.
  • allowedUserCookieAutomaticSalt (boolean): With allowedUserCookieAdvanced enabled, sets an automatic salt value to verify the integrity of the cookie for an allowed user. Disable this if you want to share the cookie across properties.
  • allowedUserCookieSalt (string): With allowedUserCookieAdvanced enabled and allowedUserCookieAutomaticSalt disabled, specifies a fixed salt value, which is incorporated into the cookie’s value to prevent users from manipulating it. You can use the same salt string across different behaviors or properties to apply a single cookie to all allowed users.
  • allowedUserCookieDomainType (enum string): With allowedUserCookieAdvanced enabled, selects whether to use the DYNAMIC incoming host header, or a CUSTOMER-defined cookie domain.
  • allowedUserCookieDomain (string): With allowedUserCookieAdvanced enabled, specifies a domain for an allowed user cookie.
  • allowedUserCookieHttpOnly (boolean): With allowedUserCookieAdvanced enabled, applies the HttpOnly flag to the allowed user’s cookie to ensure it’s accessed over HTTP and not manipulated by the client.
  • allowedUserCookieSecure (boolean): With allowedUserCookieAdvanced enabled, applies the Secure flag to the allowed user’s cookie to transmit it over a secure connection. You can apply this option only if the property itself is secure. See the Rules section for details on the is_secure property option.
  • waitingRoomCookieEnabled (boolean): Enables a cookie to track a waiting room assignment.
  • waitingRoomCookieShareLabel (boolean): With allowedUserCookieEnabled and waitingRoomCookieEnabled both true, enabling this option shares the same allowedUserCookieLabel string. If disabled, specify a different waitingRoomCookieLabel.
  • waitingRoomCookieLabel (string): With waitingRoomCookieEnabled on and either allowedUserCookieEnabled or waitingRoomCookieShareLabel off, specifies a label to distinguish this waiting room cookie from others. The value appends to the cookie’s name, and helps you to maintain the same waiting room assignment across behaviors within a property, and across properties.
  • waitingRoomCookieDuration (number within 0–120 range): With waitingRoomCookieEnabled on, sets the number of seconds for which users remain in the waiting room. During this time, users who refresh the waiting room page remain there.
  • waitingRoomCookieAdvanced (boolean): When enabled along with waitingRoomCookieEnabled, sets advanced configuration options for the waiting room cookie.
  • waitingRoomCookieAutomaticSalt (boolean): With waitingRoomCookieAdvanced enabled, sets an automatic salt value to verify the integrity of the waiting room cookie. Disable this if you want to share the cookie across properties.
  • waitingRoomCookieSalt (string): With waitingRoomCookieAdvanced enabled and waitingRoomCookieAutomaticSalt disabled, specifies a fixed salt value, which is incorporated into the cookie’s value to prevent users from manipulating it. You can use the same salt string across different behaviors or properties to apply a single cookie for the waiting room session.
  • waitingRoomCookieDomainType (enum string): With waitingRoomCookieAdvanced enabled, selects whether to use the DYNAMIC incoming host header, or a CUSTOMER-defined cookie domain.
  • waitingRoomCookieDomain (string): With waitingRoomCookieAdvanced enabled, specifies a domain for the waiting room cookie.
  • waitingRoomCookieHttpOnly (boolean): With waitingRoomCookieAdvanced enabled, applies the HttpOnly flag to the waiting room cookie to ensure it’s accessed over HTTP and not manipulated by the client.
  • waitingRoomCookieSecure (boolean): With waitingRoomCookieAdvanced enabled, applies the Secure flag to the waiting room cookie to transmit it over a secure connection. You can apply this option only if the property itself is secure. See the Rules section for details on the is_secure property option.
  • waitingRoomStatusCode (number): Specifies the response code for requests sent to the waiting room.
  • waitingRoomUseCpCode (boolean): When enabled, allows you to assign a different CP code that tracks any requests that are sent to the waiting room.
  • waitingRoomCpCode (object): With waitingRoomUseCpCode enabled, specifies a cpcode object for requests sent to the waiting room, including a numeric id key and a descriptive name:

    "waitingRoomCpCode": {
        "id": 12345,
        "name": "sent to waiting room"
    }
    
  • waitingRoomNetStorage (object): Specifies the NetStorage domain for the waiting room page. For example:

    "waitingRoomNetStorage": {
        "id": "id_string",
        "name": "Example Downloads",
        "downloadDomainName": "example.download.akamai.com",
        "cpCode": 12345
    }
    
  • waitingRoomDirectory (string): Specifies the NetStorage directory that contains the static waiting room page, with no trailing slash character.
  • waitingRoomCacheTtl (number within 5–30 range): Specifies the waiting room page’s time to live in the cache, 5 minutes by default.

Property Manager Name: Visitor Prioritization Cloudlet

watermarkUrl

Aliases a token to a watermark image URL.

Options:

  • token (string): Specifies the string token.
  • imageUrl (string): Specifies the URL for the watermark image.

Property Manager Name: Watermark Token

webApplicationFirewall

The Web Application Firewall behavior implements a suite of security features that blocks threatening HTTP and HTTPS requests. Use it as your primary firewall, or in addition to existing security measures. Only one referenced configuration is allowed per property, so this behavior typically belongs as part of its default rule.

Options:

  • firewallConfiguration (object): An object featuring details about your firewall configuration, for example:

    "firewallConfiguration": {
        "configId"          : 1,
        "productionStatus"  : "Active",
        "productionVersion" : 1,
        "stagingStatus"     : "Active",
        "stagingVersion"    : 1
    }
    

Property Manager Name: Web Application Firewall

webdav

Web-based Distributed Authoring and Versioning (WebDAV) is a set of extensions to the HTTP protocol that allows users to collaboratively edit and manage files on remote web servers. This behavior enables WebDAV, and provides support for the following additional request methods: PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, and UNLOCK.

Options:

  • enabled (boolean): Enables the WebDAV behavior.

Property Manager Name: WebDAV

webSockets

The WebSocket protocol allows web applications real-time bidirectional communication between clients and servers.

Options:

  • enabled (boolean): Enables WebSocket traffic.

Property Manager Name: WebSockets


Last modified: 6/27/2017