loading

Aura LCDN Services API v1

Manage and configure LCDN services on the Aura platform.

Learn more:


Overview

This API allows the Licensed CDN (LCDN) Operator to manage LCDN service configuration on the Aura platform.

Get started

Before you use the Aura LCDN Services API for the first time, you must get an authorization token by creating and registering an application using the Aura Management Center (AMC) GUI. For detailed information about obtaining a token, see the “Managing OAuth2 Applications” section in the latest version of the Aura LCDN/LMS Administration Guide.

Resources

This section provides details about the Aura LCDN Service API’s operations. These are the resources reflected in the API’s URLs.

  • LcdnSite: The LCDN Site is a collection of service-specific properties bound to the infrastructure site. You can’t create or delete sites at the LCDN services API. But you can update sites to set LCDN properties.

  • CacheMemoryProfile: A profile whose settings control how a HyperCache instance divides up its memory.

  • CacheMemoryDefaultSettings: The default settings for cache memory, if not overridden by a cache memory profile.

  • CacheOverloadProfile: A profile whose settings control how a HyperCache instance behaves during overload conditions.

  • CacheOverloadDefaultSettings: The default settings for cache overload, if not overridden by a cache overload profile.

  • IpAddressTag: Apply this tag at the service instance level in the Aura LCDN Deployment API.

  • HyperCacheSettings: Global service-wide configuration for HyperCache nodes.

  • RequestRouterSettings: Global service-wide configuration for Request Router nodes.

  • TlsSettings: The default settings used to deliver TLS traffic, if not overridden in the selected TLS delivery profile.

  • OriginPaths: The configuration for how cache hierarchy reaches out to a particular Origin.

  • CacheHierarchy: A view that shows how LCDN sites are connected in an HPC hierarchy.

API summary

Download the RAML descriptors for this API.

Operation Method Endpoint
Sites  
List sites GET /api/lcdn-services/v1/sites
Update a site PUT /api/lcdn-services/v1/sites/{siteId}
Get a site GET /api/lcdn-services/v1/sites/{siteId}
CacheOverload  
Create a cache overload profile instance POST /api/lcdn-services/v1/hypercache/cache-overload-profiles
List cache overload profile GET /api/lcdn-services/v1/hypercache/cache-overload-profiles
Update default cache overload profile settings PUT /api/lcdn-services/v1/hypercache/cache-overload-profiles/default
Get default cache overload settings GET /api/lcdn-services/v1/hypercache/cache-overload-profiles/default
Update a cache overload profile instance PUT /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}
Remove a cache overload profile instance DELETE /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}
Get a cache overload profile GET /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}
HyperCache settings  
Update HyperCache service settings PUT /api/lcdn-services/v1/hypercache
Get HyperCache service settings GET /api/lcdn-services/v1/hypercache
Cache Hierarchy OriginPaths  
List OriginPaths GET /api/lcdn-services/v1/hypercache/cache-hierarchy/origins
Update a OriginPath instance PUT /api/lcdn-services/v1/hypercache/cache-hierarchy/origins/{originId}
Remove OriginPaths DELETE /api/lcdn-services/v1/hypercache/cache-hierarchy/origins/{originId}
Get a OriginPath GET /api/lcdn-services/v1/hypercache/cache-hierarchy/origins/{originId}
Request Router settings  
Update Request Router service settings PUT /api/lcdn-services/v1/request-router
Get Request Router service settings GET /api/lcdn-services/v1/request-router
StoragePartitions  
Create a new StoragePartition Instance POST /api/lcdn-services/v1/hypercache/storage-partitions
List StoragePartitions GET /api/lcdn-services/v1/hypercache/storage-partitions
Update a StoragePartition instance PUT /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}
Remove a StoragePartition instance DELETE /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}
Get a StoragePartition GET /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}
CacheMemoryProfiles  
Create a cache memory profile instance POST /api/lcdn-services/v1/hypercache/cache-memory-profiles
List cache memory profiles GET /api/lcdn-services/v1/hypercache/cache-memory-profiles
Update default cache memory settings PUT /api/lcdn-services/v1/hypercache/cache-memory-profiles/default
Get default cache memory settings GET /api/lcdn-services/v1/hypercache/cache-memory-profiles/default
Update a cache memory profile instance PUT /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}
Remove a cache memory profile instance DELETE /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}
Get a cache memory profile GET /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}
Cache Hierarchy settings  
Get cache hierarchy settings GET /api/lcdn-services/v1/hypercache/cache-hierarchy
IpAddressTags  
Create a new IP Address Tag Instance POST /api/lcdn-services/v1/hypercache/ip-address-tags
List IP Address Tag GET /api/lcdn-services/v1/hypercache/ip-address-tags
Update an IP Address Tag instance PUT /api/lcdn-services/v1/hypercache/ip-address-tags/{ipAddressTagId}
Remove an IP Address Tag instance DELETE /api/lcdn-services/v1/hypercache/ip-address-tags/{ipAddressTagId}
Get an IP Address Tag GET /api/lcdn-services/v1/hypercache/ip-address-tags/{ipAddressTagId}

List sites

This operation returns a list of all configured sites.

GET /api/lcdn-services/v1/sites

Status 200 application/json

Object type: LcdnSite

Download schema: site.collection.schema.json

Response body:

{
    "sites": [
        {
            "siteId": 1,
            "name": "us-ma-east-1"
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}

Update a site

This operation updates the details of LCDN level configuration on a site.

PUT /api/lcdn-services/v1/sites/{siteId}

Sample: /api/lcdn-services/v1/sites/1

Content-Type: application/json

Object type: LcdnSite

Download schema: site.update.schema.json

Request body:

{
    "siteId": 1,
    "name": "us-ma-east-1",
    "abbreviatedName": "us-ma-east-1",
    "bandwidthLimitMbps": 100,
    "enableDisklessMode": false,
    "neighbors": [
        {
            "siteId": 2,
            "preference": 100
        }
    ],
    "cacheMemoryProfileId": 1239
}
Parameter Type Sample Description
URL path parameters
siteId Integer 1 Uniquely identifies a site.

Status 200 application/json

Object type: LcdnSite

Download schema: site.read-detailed.schema.json

Response body:

{
    "siteId": 1,
    "name": "us-ma-east-1",
    "abbreviatedName": "us-ma-east-1",
    "bandwidthLimitMbps": 100,
    "enableDisklessMode": false,
    "neighbors": [
        {
            "siteId": 2,
            "preference": 100
        }
    ],
    "cacheMemoryProfileId": 1239
}

Get a site

This operation retrieves the details of LCDN level configuration on a site.

GET /api/lcdn-services/v1/sites/{siteId}

Sample: /api/lcdn-services/v1/sites/1

Parameter Type Sample Description
URL path parameters
siteId Integer 1 Uniquely identifies a site.

Status 200 application/json

Object type: LcdnSite

Download schema: site.read-detailed.schema.json

Response body:

{
    "siteId": 1,
    "name": "us-ma-east-1",
    "abbreviatedName": "us-ma-east-1",
    "bandwidthLimitMbps": 100,
    "enableDisklessMode": false,
    "neighbors": [
        {
            "siteId": 2,
            "preference": 100
        }
    ],
    "cacheMemoryProfileId": 1239
}

Create a cache overload profile

This operation creates a new cache overload profile instance.

POST /api/lcdn-services/v1/hypercache/cache-overload-profiles

Content-Type: application/json

Object type: CacheOverloadProfile

Download schema: cache-overload-profile.create.schema.json

Request body:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "SITE_REDIRECT",
        "redirectMode": "CLIENT_IP",
        "enablePersistentConnectionClose": false
    },
    "name": "profile4"
}

Status 200 application/json

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/lcdn-services/v1/hypercache/cache-overload-profiles/1

Object type: CacheOverloadProfile

Download schema: cache-overload-profile.read-detailed.schema.json

Response body:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "SITE_REDIRECT",
        "redirectMode": "CLIENT_IP",
        "enablePersistentConnectionClose": false
    },
    "cacheOverloadProfileId": 1389,
    "name": "profile4"
}

Status 201

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/v1/attribute-types/1
  1. Build a CacheOverloadProfile object.

  2. POST the object to /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}.

  3. The Location header in the responses provides a URL to the newly created object.

  4. The response is a CacheOverloadProfile object.

List cache overload profile

This operation returns a list of all cache overload profiles configured on the CDN.

GET /api/lcdn-services/v1/hypercache/cache-overload-profiles

Status 200 application/json

Object type: CacheOverloadProfile

Download schema: cache-overload-profile.collection.schema.json

Response body:

{
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    },
    "cacheOverloadProfiles": [
        {
            "cacheOverloadProfileId": 1389,
            "name": "profile4"
        }
    ]
}
  1. Use the pageSize and pageNumber query parameters to control the set of data that gets returned.

  2. Optionally specify the view query parameter with a value of detailed to request the full details of each object within the collection.

  3. Make a GET request to Get CacheOverloadProfile Collection.

  4. The operation responds with a paged collection of CacheOverloadProfile objects.

Update default cache overload profile settings

This operation updates the default cache overload profile configuration settings.

PUT /api/lcdn-services/v1/hypercache/cache-overload-profiles/default

Content-Type: application/json

Object type: CacheOverloadDefaultSettings

Download schema: cache-overload-default-settings.update.schema.json

Request body:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "REJECT_CONNECTION"
    },
    "enable": false
}

Status 200 application/json

Object type: CacheOverloadDefaultSettings

Download schema: cache-overload-default-settings.read.schema.json

Response body:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "REJECT_CONNECTION"
    },
    "enable": false
}
  1. Make a GET request to /api/lcdn-services/v1/hypercache/cache-overload-profiles/default. The operation responds with a CacheOverloadDefaultSettings object.

  2. Update the CacheOverloadDefaultSettings object.

  3. PUT the updated object to /api/lcdn-services/v1/hypercache/cache-overload-profiles/default.

  4. The response reflects the updated CacheOverloadDefaultSettings object.

Get default cache overload settings

This operation retrieves the default cache overload configuration settings.

GET /api/lcdn-services/v1/hypercache/cache-overload-profiles/default

Status 200 application/json

Object type: CacheOverloadDefaultSettings

Download schema: cache-overload-default-settings.read.schema.json

Response body:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "REJECT_CONNECTION"
    },
    "enable": false
}

Update a cache overload profile

This operation updates the details of each cache overload profile instance.

PUT /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}

Sample: /api/lcdn-services/v1/hypercache/cache-overload-profiles/1

Content-Type: application/json

Object type: CacheOverloadProfile

Download schema: cache-overload-profile.update.schema.json

Request body:

{
    "cacheOverloadProfileId": 1,
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "SITE_REDIRECT",
        "redirectMode": "CLIENT_IP",
        "enablePersistentConnectionClose": false
    },
    "name": "profile4"
}
Parameter Type Sample Description
URL path parameters
cacheOverloadProfileId Integer 1 Uniquely identifies each cache overload profile instance.

Status 200 application/json

Object type: CacheOverloadProfile

Download schema: cache-overload-profile.read-detailed.schema.json

Response body:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "SITE_REDIRECT",
        "redirectMode": "CLIENT_IP",
        "enablePersistentConnectionClose": false
    },
    "cacheOverloadProfileId": 1389,
    "name": "profile4"
}
  1. Run the Get CacheOverloadProfile Collection operation to locate and store the current CacheOverloadProfile object and cacheOverloadProfileId.

  2. Update the CacheOverloadProfile object.

  3. PUT the CacheOverloadProfile object to /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}.

  4. The response reflects the updated CacheOverloadProfile object.

Remove a cache overload profile

This operation removes a cache overload profile instance.

DELETE /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}

Sample: /api/lcdn-services/v1/hypercache/cache-overload-profiles/1

Parameter Type Sample Description
URL path parameters
cacheOverloadProfileId Integer 1 Uniquely identifies each cache overload profile instance.

Status 204

  1. If you don’t have a cacheOverloadProfileId value, run the Get CacheOverloadProfile Collection operation to locate the CacheOverloadProfile and store the cacheOverloadProfileId value.

  2. Make a DELETE request to /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}.

Get a cache overload profile

This operation retrieves the details of each cache overload profile instance.

GET /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}

Sample: /api/lcdn-services/v1/hypercache/cache-overload-profiles/1

Parameter Type Sample Description
URL path parameters
cacheOverloadProfileId Integer 1 Uniquely identifies each cache overload profile instance.

Status 200 application/json

Object type: CacheOverloadProfile

Download schema: cache-overload-profile.read-detailed.schema.json

Response body:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "SITE_REDIRECT",
        "redirectMode": "CLIENT_IP",
        "enablePersistentConnectionClose": false
    },
    "cacheOverloadProfileId": 1389,
    "name": "profile4"
}
  1. Run the Get CacheOverloadProfile Collection operation to locate the cacheOverloadProfileId of the target CacheOverloadProfile object.

  2. Make a GET request to /api/lcdn-services/v1/hypercache/cache-overload-profiles/{cacheOverloadProfileId}.

The operation responds with an CacheOverloadProfile object.

Update HyperCache service settings

This operation updates global HyperCache service configuration settings.

PUT /api/lcdn-services/v1/hypercache

Content-Type: application/json

Object type: HyperCacheSettings

Download schema: hypercache-service-settings.schema.json

Request body:

{
    "ingestTcpReceiveBufferSizeKB": 64,
    "interSiteTcpTransmitBufferSizeKB": 64,
    "enableTcpSlowStartOnIdleConnection": true,
    "enablePragmaHeaders": false,
    "enableQuickRecoveryMode": false,
    "keepAliveRequestLimit": 100000,
    "frontEndCaching": {
        "maxObjectSizeMB": 10,
        "maxIngestDelayMs": 0,
        "minUseCount": 1,
        "cacheRangeMode": "OFF"
    },
    "originOverloadProtection": {
        "throttleProfile": "NONE",
        "responseCodes": [],
        "individualQueueMaximum": 0
    },
    "lastMileAcceleration": {
        "enable": false
    }
}

Status 200 application/json

Object type: HyperCacheSettings

Download schema: hypercache-service-settings.schema.json

Response body:

{
    "ingestTcpReceiveBufferSizeKB": 64,
    "interSiteTcpTransmitBufferSizeKB": 64,
    "enableTcpSlowStartOnIdleConnection": true,
    "enablePragmaHeaders": false,
    "enableQuickRecoveryMode": false,
    "keepAliveRequestLimit": 100000,
    "frontEndCaching": {
        "maxObjectSizeMB": 10,
        "maxIngestDelayMs": 0,
        "minUseCount": 1,
        "cacheRangeMode": "OFF"
    },
    "originOverloadProtection": {
        "throttleProfile": "NONE",
        "responseCodes": [],
        "individualQueueMaximum": 0
    },
    "lastMileAcceleration": {
        "enable": false
    }
}
  1. Make a GET request to /api/lcdn-services/v1/hypercache. The operation responds with a HyperCacheSettings object.

  2. Update the HyperCacheSettings object.

  3. PUT the updated HyperCacheSettings to /api/lcdn-services/v1/hypercache

  4. The operations responds with a HyperCacheSettings object.

Get HyperCache service settings

This operation retrieves details about global HyperCache service configuration settings.

GET /api/lcdn-services/v1/hypercache

Status 200 application/json

Object type: HyperCacheSettings

Download schema: hypercache-service-settings.schema.json

Response body:

{
    "ingestTcpReceiveBufferSizeKB": 64,
    "interSiteTcpTransmitBufferSizeKB": 64,
    "enableTcpSlowStartOnIdleConnection": true,
    "enablePragmaHeaders": false,
    "enableQuickRecoveryMode": false,
    "keepAliveRequestLimit": 100000,
    "frontEndCaching": {
        "maxObjectSizeMB": 10,
        "maxIngestDelayMs": 0,
        "minUseCount": 1,
        "cacheRangeMode": "OFF"
    },
    "originOverloadProtection": {
        "throttleProfile": "NONE",
        "responseCodes": [],
        "individualQueueMaximum": 0
    },
    "lastMileAcceleration": {
        "enable": false
    }
}

List origin paths

This operation returns a list of all configured origin path settings.

GET /api/lcdn-services/v1/hypercache/cache-hierarchy/origins

Status 200 application/json

Object type: OriginPaths

Download schema: origin-paths.collection.schema.json

Response body:

{
    "originPaths": [
        {
            "originPathId": 1,
            "originId": 50
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}
  1. Make a GET request to /api/lcdn-services/v1/hypercache/cache-hierarchy/origins.

  2. The operation responds with a paged collection of OriginPaths objects. Use the pageSize and pageNumber URI parameters to control the set of data that gets returned.

  3. Optionally specify the view URI parameter with value detailed to request the full details of each object within the collection.

Update an origin path

This operation updates the details of an OriginPath instance.

PUT /api/lcdn-services/v1/hypercache/cache-hierarchy/origins/{originId}

Sample: /api/lcdn-services/v1/hypercache/cache-hierarchy/origins/1

Content-Type: application/json

Object type: OriginPaths

Download schema: origin-paths.update.schema.json

Request body:

{
    "originId": 50,
    "paths": [
        {
            "siteId": 1,
            "preference": 1,
            "resolvableHostnames": [
                "origin1.vod.mydomain.com"
            ]
        }
    ]
}
Parameter Type Sample Description
URL path parameters
originId Integer 1 Uniquely identifies an Origin instance.

Status 200 application/json

Object type: OriginPaths

Download schema: origin-paths.read-detailed.schema.json

Response body:

{
    "originId": 50,
    "contentProviderId": 3,
    "hostname": "vod.mydomain.com",
    "paths": [
        {
            "siteId": 1,
            "preference": 1,
            "resolvableHostnames": [
                "origin1.vod.mydomain.com"
            ]
        }
    ]
}

Remove origin paths

This operation removes all paths associated with an Origin.

DELETE /api/lcdn-services/v1/hypercache/cache-hierarchy/origins/{originId}

Sample: /api/lcdn-services/v1/hypercache/cache-hierarchy/origins/1

Parameter Type Sample Description
URL path parameters
originId Integer 1 Uniquely identifies an Origin instance.

Status 204

Get an origin path

This operation retrieves the details of an OriginPath instance.

GET /api/lcdn-services/v1/hypercache/cache-hierarchy/origins/{originId}

Sample: /api/lcdn-services/v1/hypercache/cache-hierarchy/origins/1

Parameter Type Sample Description
URL path parameters
originId Integer 1 Uniquely identifies an Origin instance.

Status 200 application/json

Object type: OriginPaths

Download schema: origin-paths.read-detailed.schema.json

Response body:

{
    "originId": 50,
    "contentProviderId": 3,
    "hostname": "vod.mydomain.com",
    "paths": [
        {
            "siteId": 1,
            "preference": 1,
            "resolvableHostnames": [
                "origin1.vod.mydomain.com"
            ]
        }
    ]
}

Update Request Router service settings

This operation updates global Request Router service configuration settings.

PUT /api/lcdn-services/v1/request-router

Content-Type: application/json

Object type: RequestRouterSettings

Download schema: requestrouter-service-settings.schema.json

Request body:

{
    "defaultTtl": 30,
    "maxAnswers": 3,
    "enableDnsRefusedResponse": false,
    "enableDnsResponseGlueRecords": true,
    "enableAccessLogging": true,
    "enableAccessControl": true,
    "lastResortMapAction": "DROP",
    "noMatchMapAction": "DROP",
    "defaultSiteMapId": 1000,
    "defaultAccessMapId": 1001,
    "ip4GeoIpConfigId": 1050,
    "bgpConfigId": 1100
}

Status 200 application/json

Object type: RequestRouterSettings

Download schema: requestrouter-service-settings.schema.json

Response body:

{
    "defaultTtl": 30,
    "maxAnswers": 3,
    "enableDnsRefusedResponse": false,
    "enableDnsResponseGlueRecords": true,
    "enableAccessLogging": true,
    "enableAccessControl": true,
    "lastResortMapAction": "DROP",
    "noMatchMapAction": "DROP",
    "defaultSiteMapId": 1000,
    "defaultAccessMapId": 1001,
    "ip4GeoIpConfigId": 1050,
    "bgpConfigId": 1100
}
  1. Make a GET request to /api/lcdn-services/v1/hypercache. The operation responds with a RequestRouterSettings object.

  2. Update the RequestRouterSettings object.

  3. PUT the updated object to /api/lcdn-services/v1/hypercache.

  4. The operation responds with the updated RequestRouterSettings object.

Get Request Router service settings

This operation retrieves information about global Request Router service configuration settings.

GET /api/lcdn-services/v1/request-router

Status 200 application/json

Object type: RequestRouterSettings

Download schema: requestrouter-service-settings.schema.json

Response body:

{
    "defaultTtl": 30,
    "maxAnswers": 3,
    "enableDnsRefusedResponse": false,
    "enableDnsResponseGlueRecords": true,
    "enableAccessLogging": true,
    "enableAccessControl": true,
    "lastResortMapAction": "DROP",
    "noMatchMapAction": "DROP",
    "defaultSiteMapId": 1000,
    "defaultAccessMapId": 1001,
    "ip4GeoIpConfigId": 1050,
    "bgpConfigId": 1100
}

Create a new storage partition

This operation creates a new StoragePartition instance.

POST /api/lcdn-services/v1/hypercache/storage-partitions

Content-Type: application/json

Object type: StoragePartition

Download schema: storage-partition.create.schema.json

Request body:

{
    "name": "partition1",
    "description": "Partition for VOD",
    "defaultPartitionSizePercent": 25,
    "sitePartitions": [
        {
            "siteId": 7,
            "partitionSizePercent": 50
        }
    ]
}

Status 200 application/json

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/lcdn-services/v1/hypercache/storage-partitions/1

Object type: StoragePartition

Download schema: storage-partition.read-detailed.schema.json

Response body:

{
    "storagePartitionId": 1,
    "name": "partition1",
    "description": "Partition for VOD",
    "defaultStoragePartitionPercent": 25,
    "sitePartitions": [
        {
            "siteId": 7,
            "partitionSizePercent": 50
        }
    ]
}

Status 201

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/v1/attribute-types/1
  1. Build a StoragePartition object.

  2. POST the object to /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}. The Location response header provides a URL to the newly created object.

List storage partitions

This operation returns a list of all configured profiles.

GET /api/lcdn-services/v1/hypercache/storage-partitions

Status 200 application/json

Object type: StoragePartition

Download schema: storage-partition.collection.schema.json

Response body:

{
    "storagePartitions": [
        {
            "storagePartitionId": 1,
            "name": "partition1"
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}
  1. Use the pageSize and pageNumber query parameters to control the set of data that gets returned.

  2. Optionally specify the view query parameter with a value of detailed to request the full details of each object within the collection.

  3. Make a GET request to /api/lcdn-services/v1/hypercache/storage-partitions.

  4. The operation responds with a paged collection of StoragePartition objects.

Update a storage partition

This operation updates the details of a StoragePartition instance.

PUT /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}

Sample: /api/lcdn-services/v1/hypercache/storage-partitions/1

Content-Type: application/json

Object type: StoragePartition

Download schema: storage-partition.update.schema.json

Request body:

{
    "name": "partition1",
    "storagePartitionId": 2,
    "description": "Partition for VOD",
    "defaultPartitionSizePercent": 25,
    "sitePartitions": [
        {
            "siteId": 7,
            "partitionSizePercent": 50
        }
    ]
}
Parameter Type Sample Description
URL path parameters
storagePartitionId Integer 1 Uniquely identifies a StoragePartition instance.

Status 200 application/json

Object type: StoragePartition

Download schema: storage-partition.read-detailed.schema.json

Response body:

{
    "storagePartitionId": 1,
    "name": "partition1",
    "description": "Partition for VOD",
    "defaultStoragePartitionPercent": 25,
    "sitePartitions": [
        {
            "siteId": 7,
            "partitionSizePercent": 50
        }
    ]
}
  1. Run the List StoragePartitions operation to locate and store the current StoragePartition object and storagePartitionId.

  2. Update the StoragePartition object.

  3. PUT the StoragePartition object to /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}. The response is the updated StoragePartition object.

Remove a storage partition

This operation removes a StoragePartition instance.

DELETE /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}

Sample: /api/lcdn-services/v1/hypercache/storage-partitions/1

Parameter Type Sample Description
URL path parameters
storagePartitionId Integer 1 Uniquely identifies a StoragePartition instance.

Status 204

  1. If you don’t have a storagePartitionId value, run the List StoragePartitions operation to locate the StoragePartition and store the storagePartitionId value.

  2. Make a DELETE request to /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}.

Get a storage partition

This operation retrieves the details of a StoragePartition instance.

GET /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}

Sample: /api/lcdn-services/v1/hypercache/storage-partitions/1

Parameter Type Sample Description
URL path parameters
storagePartitionId Integer 1 Uniquely identifies a StoragePartition instance.

Status 200 application/json

Object type: StoragePartition

Download schema: storage-partition.read-detailed.schema.json

Response body:

{
    "storagePartitionId": 1,
    "name": "partition1",
    "description": "Partition for VOD",
    "defaultStoragePartitionPercent": 25,
    "sitePartitions": [
        {
            "siteId": 7,
            "partitionSizePercent": 50
        }
    ]
}
  1. Run the List StoragePartitions operation to locate the storagePartitionId for the target StoragePartition object.

  2. Make a GET request to /api/lcdn-services/v1/hypercache/storage-partitions/{storagePartitionId}. The response is a StoragePartition object.

Create a cache memory profile

This operation creates a cache memory profile instance.

POST /api/lcdn-services/v1/hypercache/cache-memory-profiles

Content-Type: application/json

Object type: CacheMemoryProfile

Download schema: cache-memory-profile.create.schema.json

Request body:

{
    "name": "profile1",
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}

Status 200 application/json

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/lcdn-services/v1/hypercache/memory-profiles/1

Download schema: cache-memory-profile.read-summary.schema.json

Response body:

{
    "name": "profile1",
    "cacheMemoryProfileId": 1,
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}

Status 201

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/v1/attribute-types/1
  1. Build a CacheMemoryProfile object.

  2. POST the object to /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}.

  3. The Location header in the response provides a URL to the newly created object.

  4. The response is a CacheMemoryProfile object.

List cache memory profiles

This operation returns a list of all cache memory profiles configured on the CDN.

GET /api/lcdn-services/v1/hypercache/cache-memory-profiles

Status 200 application/json

Object type: CacheMemoryProfile

Download schema: cache-memory-profile.collection.schema.json

Response body:

{
    "cacheMemoryProfiles": [
        {
            "cacheMemoryProfileId": 1,
            "name": "profile1"
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}
  1. Make a GET request to /api/lcdn-services/v1/hypercache/cache-memory-profiles. The operation responds with a paged collection of CacheMemoryProfile objects.

  2. Use the pageSize and pageNumber URI parameters to control the set of data that gets returned.

  3. Optionally, specify the view URI parameter with value detailed to request the full details of each object within the collection.

Update default cache memory settings

This operation updates the default cache memory profile configuration settings.

PUT /api/lcdn-services/v1/hypercache/cache-memory-profiles/default

Content-Type: application/json

Object type: CacheMemoryDefaultSettings

Download schema: cache-memory-default-settings.update.schema.json

Request body:

{
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}

Status 200 application/json

Object type: CacheMemoryDefaultSettings

Download schema: cache-memory-default-settings.read.schema.json

Response body:

{
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}
  1. Make a GET request to /api/lcdn-services/v1/hypercache/cache-memory-profiles/default . The operation responds with a CacheMemoryDefaultSettings object.

  2. Update the CacheMemoryDefaultSettings object.

  3. PUT the updated object to /api/lcdn-services/v1/hypercache/cache-memory-profiles/default.

  4. The response reflects the updated CacheMemoryDefaultSettings object.

Get default cache memory settings

This operation retrieves the default cache memory configuration settings.

GET /api/lcdn-services/v1/hypercache/cache-memory-profiles/default

Status 200 application/json

Object type: CacheMemoryDefaultSettings

Download schema: cache-memory-default-settings.read.schema.json

Response body:

{
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}

Update a cache memory profile

This operation updates the details of a cache memory profile instance.

PUT /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}

Sample: /api/lcdn-services/v1/hypercache/cache-memory-profiles/1

Content-Type: application/json

Object type: CacheMemoryProfile

Download schema: cache-memory-profile.update.schema.json

Request body:

{
    "name": "profile1",
    "cacheMemoryProfileId": 1,
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}
Parameter Type Sample Description
URL path parameters
cacheMemoryProfileId Integer 1 Uniquely identifies a cache memory profile instance.

Status 200 application/json

Download schema: cache-memory-profile.read-summary.schema.json

Response body:

{
    "name": "profile1",
    "cacheMemoryProfileId": 1,
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}
  1. Run the Get CacheMemoryProfile Collection operation to locate and store the current CacheMemoryProfile object and cacheMemoryProfileId.

  2. Update the CacheMemoryProfile object.

  3. PUT the CacheMemoryProfile object to /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}.

  4. The response reflects the updated CacheMemoryProfile object.

Remove a cache memory profile

This operation removes a cache memory profile instance.

DELETE /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}

Sample: /api/lcdn-services/v1/hypercache/cache-memory-profiles/1

Parameter Type Sample Description
URL path parameters
cacheMemoryProfileId Integer 1 Uniquely identifies a cache memory profile instance.

Status 204

  1. If you don’t have a cacheMemoryProfileId value, run the Get CacheMemoryProfile Collection operation to locate the CacheMemoryProfile and store the cacheMemoryProfileId value.

  2. Make a DELETE request to /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}.

Get a cache memory profile

This operation retrieves the details of a cache memory profile instance.

GET /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}

Sample: /api/lcdn-services/v1/hypercache/cache-memory-profiles/1

Parameter Type Sample Description
URL path parameters
cacheMemoryProfileId Integer 1 Uniquely identifies a cache memory profile instance.

Status 200 application/json

Download schema: cache-memory-profile.read-summary.schema.json

Response body:

{
    "name": "profile1",
    "cacheMemoryProfileId": 1,
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}
  1. Run the Get CacheMemoryProfile Collection operation to locate the cacheMemoryProfileId parameter of the target CacheMemoryProfile object.

  2. Make a GET request to /api/lcdn-services/v1/hypercache/cache-memory-profiles/{cacheMemoryProfileId}

  3. The operation responds with a CacheMemoryProfile object.

Get cache hierarchy settings

This operation retrieves the cache hierarchy settings.

GET /api/lcdn-services/v1/hypercache/cache-hierarchy

Status 200 application/json

Object type: CacheHierarchy

Download schema: cache-hierarchy.read.schema.json

Response body:

{
    "hierarchy": [
        {
            "siteId": 1,
            "neighbors": [
                {
                    "siteId": 2,
                    "preference": 1
                },
                {
                    "siteId": 3,
                    "preference": 2
                }
            ]
        },
        {
            "siteId": 2,
            "neighbors": [
                {
                    "siteId": 3,
                    "preference": 1
                }
            ]
        },
        {
            "siteId": 3,
            "neighbors": []
        }
    ]
}

Create a new IP address tag

This operation creates a new IP Address Tag instance.

POST /api/lcdn-services/v1/hypercache/ip-address-tags

Content-Type: application/json

Object type: IpAddressTag

Download schema: ip-address-tag.create.schema.json

Request body:

{
    "name": "tag1"
}

Status 200 application/json

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/lcdn-services/v1/ip-address-tags/1

Object type: IpAddressTag

Download schema: ip-address-tag.read-detailed.schema.json

Response body:

{
    "ipAddressTagId": 1000,
    "name": "tag1"
}

Status 201

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/infrastructure/v1/attribute-types/1
  1. Build an IpAddressTag object.

  2. POST the object to /api/lcdn-services/v1/ip-address-tags/{ipAddressTagId}.

  3. The Location header in the response provides a URL to the newly created IpAddressTag object.

List IP address tags

This operation returns a list of all configured IP Address Tag.

GET /api/lcdn-services/v1/hypercache/ip-address-tags

Status 200 application/json

Object type: IpAddressTag

Download schema: ip-address-tag.collection.schema.json

Response body:

{
    "ipAddressTags": [
        {
            "ipAddressTagId": 1000,
            "name": "tag1"
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}
  1. Use the pageSize and pageNumber query parameters to control the set of data that gets returned.

  2. Optionally specify the view query parameter with a value of detailed to request the full details of each object within the collection.

  3. Make a GET request to /api/lcdn-services/v1/ip-address-tags. The operation responds with a paged collection of IpAddressTag objects.

Update an IP address tag

This operation updates the details of an IP Address Tag instance.

PUT /api/lcdn-services/v1/hypercache/ip-address-tags/{ipAddressTagId}

Sample: /api/lcdn-services/v1/hypercache/ip-address-tags/1

Content-Type: application/json

Object type: IpAddressTag

Download schema: ip-address-tag.update.schema.json

Request body:

{
    "ipAddressTagId": 100,
    "name": "tag1"
}
Parameter Type Sample Description
URL path parameters
ipAddressTagId Integer 1 Uniquely identifies an IP Address Tag instance.

Status 200 application/json

Object type: IpAddressTag

Download schema: ip-address-tag.read-detailed.schema.json

Response body:

{
    "ipAddressTagId": 1000,
    "name": "tag1"
}
  1. Run the List IpAddressTags operation to locate and store the current IpAddressTag object and ipAddressTagId.

  2. Update the IpAddressTag object.

  3. PUT the IpAddressTag object to /api/lcdn-services/v1/ip-address-tags/{ipAddressTagId}. The response reflects the updated IpAddressTag object.

Remove an IP address tag

This operation removes an IP Address Tag instance.

DELETE /api/lcdn-services/v1/hypercache/ip-address-tags/{ipAddressTagId}

Sample: /api/lcdn-services/v1/hypercache/ip-address-tags/1

Parameter Type Sample Description
URL path parameters
ipAddressTagId Integer 1 Uniquely identifies an IP Address Tag instance.

Status 204

  1. Run the List IpAddressTags operation to get a list of the IP Address tags. Store the ipAddressTagId of the relevant instance.

  2. Make a DELETE request to /api/lcdn-services/v1/ip-address-tags/{ipAddressTagId}.

Get an IP address tag

This operation retrieves the details of an IP Address Tag instance.

GET /api/lcdn-services/v1/hypercache/ip-address-tags/{ipAddressTagId}

Sample: /api/lcdn-services/v1/hypercache/ip-address-tags/1

Parameter Type Sample Description
URL path parameters
ipAddressTagId Integer 1 Uniquely identifies an IP Address Tag instance.

Status 200 application/json

Object type: IpAddressTag

Download schema: ip-address-tag.read-detailed.schema.json

Response body:

{
    "ipAddressTagId": 1000,
    "name": "tag1"
}
  1. Run the List IpAddressTags operation to locate the ipAddressTagId parameter of the target IpAddressTag object.

  2. Make a GET request to /api/lcdn-services/v1/ip-address-tags/{ipAddressTagId}. The operation responds with an IpAddressTag object.

Data

This section describes the data objects that the Aura LCDN Services API exposes.

Download the JSON schemas for this API.

This section’s data schema tables list membership requirements as follows:

Member is required in requests, or always present in responses, even if its value is empty or null.
Member is optional, and may be omitted in some cases.

LcdnSite

An LCDN site builds upon the infrastructure site, adding in controls for HPC and Request Router.

Download schema: site.read-detailed.schema.json

Sample GET request:

{
    "siteId": 1,
    "name": "us-ma-east-1",
    "abbreviatedName": "us-ma-east-1",
    "bandwidthLimitMbps": 100,
    "enableDisklessMode": false,
    "neighbors": [
        {
            "siteId": 2,
            "preference": 100
        }
    ],
    "cacheMemoryProfileId": 1239
}

LcdnSite members

Member Type Required Description
LcdnSite: An LCDN site builds upon the infrastructure site, adding in controls for HPC and Request Router.
bandwidthLimitMbps Integer The site bandwidth limit, in Mbps.
cacheMemoryProfileId Integer The unique identifier for a cache memory profile.
enableDisklessMode Boolean Whether HPC diskless mode is enabled on this site.
name String Read-only. The unique name for this site.
neighbors LcdnSite.neighbors[] A bundle of configured dynamic hierarchy neighbors.
siteId Integer Read-only. The unique identifier for a site.
staticParentIds Integer The unique identifier for a site.
LcdnSite.neighbors[]: A bundle of configured dynamic hierarchy neighbors.
preference Integer Specifies relative path prioritization.
siteId Integer The unique identifier for a site.

CacheOverloadProfile

HPC overload profile detailed read schema.

Download schema: cache-overload-profile.read-detailed.schema.json

Sample POST request:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "SITE_REDIRECT",
        "redirectMode": "CLIENT_IP",
        "enablePersistentConnectionClose": false
    },
    "name": "profile4"
}

Sample GET request:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "SITE_REDIRECT",
        "redirectMode": "CLIENT_IP",
        "enablePersistentConnectionClose": false
    },
    "cacheOverloadProfileId": 1389,
    "name": "profile4"
}

CacheOverloadProfile members

Member Type Required Description
CacheOverloadProfile: HPC overload profile detailed read schema.
cacheOverloadProfileId Integer Read-only. The unique identifier assigned to the HPC Overload Profile.
highPriorityBandwidthThresholdPercent Integer A value between 0 and 100 that represents the bandwidth capacity threshold above which the HPC nodes should be considered overloaded.
highPriorityLoadThresholdPercent Integer A value between 0 and 90 that represents the load capacity threshold above which the HPC nodes should be considered overloaded.
lowPriorityBandwidthThresholdPercent Integer A value between 0 and 100 that represents the bandwidth capacity threshold above which nodes only accept medium and high priority prefix traffic. Ensure that the low-priority traffic value you specify is equal to or less than the medium-priority traffic value. An HPC is considered overloaded for low-priority traffic when its average bandwidth capacity exceeds the configured bandwidth capacity threshold.
lowPriorityLoadThresholdPercent Integer A value between 0 and 90 that represents the load capacity threshold above which LCDN nodes only accept medium and high prefix traffic. Ensure that the low-priority traffic value you specify is equal to or less than the medium-priority traffic value. An HPC is considered overloaded for low-priority traffic when its average load capacity exceeds the configured load capacity threshold.
mediumPriorityBandwidthThresholdPercent Integer A value between 0 and 100 that represents the bandwidth capacity threshold above which nodes only accept high priority prefix traffic. Ensure that the medium-priority traffic you specify is equal to or less than the high-priority traffic value. An HPC is considered overloaded for medium-priority traffic when its average bandwidth capacity exceeds the configured bandwidth capacity threshold.
mediumPriorityLoadThresholdPercent Integer A value between 0 and 90 that represents the load capacity threshold above which nodes only accept high priority prefix traffic. Ensure that the medium-priority traffic value you specify is equal to or less than the high-priority traffic value. An HPC is considered overloaded for medium priority traffic when its average load capacity exceeds the configured load capacity threshold.
name String A unique name assigned to the HPC Overload Profile. The minimum length is 1 and the maximum length is 128.
overloadAction Object Overload action types are measures that HPCs take when the traffic levels for load average and bandwidth thresholds on HPCs exceed the configured load and bandwidth capacity thresholds. Reject Connection Overload Action Type tells the HPC to reject the persistent connection without sending an HTTP response header or disallow HPCs from rejecting the persistent connection. Site Redirect Overload Action Type tells the HPC to issue a 302 response redirecting HTTP client requests to another HPC in the site that is not overloaded. HTTP Response Code Options Overload Action Type lets you choose from among a list HTTP response codes that you want the HPC to return for a client request, when the HPC load exceeds the configured thresholds.

CacheOverloadDefaultSettings

HPC overload default settings read schema.

Download schema: cache-overload-default-settings.read.schema.json

Sample PUT request:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "REJECT_CONNECTION"
    },
    "enable": false
}

Sample GET request:

{
    "lowPriorityLoadThresholdPercent": 60,
    "mediumPriorityLoadThresholdPercent": 70,
    "highPriorityLoadThresholdPercent": 80,
    "lowPriorityBandwidthThresholdPercent": 100,
    "mediumPriorityBandwidthThresholdPercent": 100,
    "highPriorityBandwidthThresholdPercent": 100,
    "overloadAction": {
        "action": "REJECT_CONNECTION"
    },
    "enable": false
}

CacheOverloadDefaultSettings members

Member Type Required Description
CacheOverloadDefaultSettings: HPC overload default settings read schema.
enable Boolean Enables the HPC Overload Profile feature.
highPriorityBandwidthThresholdPercent Integer A value between 0 and 100 that represents the bandwidth capacity threshold above which the HPC nodes should be considered overloaded.
highPriorityLoadThresholdPercent Integer A value between 0 and 90 that represents the load capacity threshold above which the HPC nodes should be considered overloaded.
lowPriorityBandwidthThresholdPercent Integer A value between 0 and 100 that represents the bandwidth capacity threshold above which nodes only accept medium and high priority prefix traffic. Ensure that the low-priority traffic value you specify is equal to or less than the medium-priority traffic value. An HPC is considered overloaded for low-priority traffic when its average bandwidth capacity exceeds the configured bandwidth capacity threshold.
lowPriorityLoadThresholdPercent Integer A value between 0 and 90 that represents the load capacity threshold above which LCDN nodes only accept medium and high prefix traffic. Ensure that the low-priority traffic value you specify is equal to or less than the medium-priority traffic value. An HPC is considered overloaded for low-priority traffic when its average load capacity exceeds the configured load capacity threshold.
mediumPriorityBandwidthThresholdPercent Integer A value between 0 and 100 that represents the bandwidth capacity threshold above which nodes only accept high priority prefix traffic. Ensure that the medium-priority traffic you specify is equal to or less than the high-priority traffic value. An HPC is considered overloaded for medium-priority traffic when its average bandwidth capacity exceeds the configured bandwidth capacity threshold.
mediumPriorityLoadThresholdPercent Integer A value between 0 and 90 that represents the load capacity threshold above which nodes only accept high priority prefix traffic. Ensure that the medium-priority traffic value you specify is equal to or less than the high-priority traffic value. An HPC is considered overloaded for medium priority traffic when its average load capacity exceeds the configured load capacity threshold.
overloadAction Object Overload action types are measures that HPCs take when the traffic levels for load average and bandwidth thresholds on HPCs exceed the configured load and bandwidth capacity thresholds. Reject Connection Overload Action Type tells the HPC to reject the persistent connection without sending an HTTP response header or disallow HPCs from rejecting the persistent connection. Site Redirect Overload Action Type tells the HPC to issue a 302 response redirecting HTTP client requests to another HPC in the site that is not overloaded. HTTP Response Code Options Overload Action Type lets you choose from among a list HTTP response codes that you want the HPC to return for a client request, when the HPC load exceeds the configured thresholds.

CacheMemoryProfile

Cache memory profile detailed read schema.

Download schema: cache-memory-profile.read-detailed.schema.json

Sample POST request:

{
    "name": "profile1",
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}

Sample GET request:

{
    "cacheMemoryProfileId": 1,
    "name": "profile1",
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}

CacheMemoryProfile members

Member Type Required Description
CacheMemoryProfile: Cache memory profile detailed read schema.
cacheMemoryProfileId Integer Read-only. The unique identifier for a cache memory profile.
diskIndexMemoryPercent Integer The percentage of memory allocated on each node for storing the internal index in disk index cache memory. Use the internal index to access all content stored on disk for that node. You can size disk index memory based on available disk space and the average object size. As a general guide, an index for one object takes 48 bytes of memory.
frontEndCacheMemoryPercent Integer The percentage of memory allocated on each node for storing entire objects in front-end cache memory.
hotCacheMemoryPercent Integer The percentage of memory allocated on each node for storing chunks of popular content in hot cache memory. Use hot cache memory to store both standard and RAM-only content. Akamai recommends that you don’t change the default value of 5 for this memory category.
name String A unique name for a cache memory profile. Memory profile names can consist of up to 40 alphanumeric characters, backslashes, dashes or underscores, and spaces. The maximum length is 128 and the minimum length is 1.
ramOnlyCacheMemoryPercent Integer The percentage of memory allocated for content that is identified for storage in RAM-only cache memory. RAM-only caching is applicable to all sites, both client-serving and not client-serving.

CacheMemoryDefaultSettings

Cache memory default settings read schema.

Download schema: cache-memory-default-settings.read.schema.json

Sample PUT request:

{
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}

Sample GET request:

{
    "hotCacheMemoryPercent": 10,
    "ramOnlyCacheMemoryPercent": 0,
    "frontEndCacheMemoryPercent": 0,
    "diskIndexMemoryPercent": 10
}

CacheMemoryDefaultSettings members

Member Type Required Description
CacheMemoryDefaultSettings: Cache memory default settings read schema.
diskIndexMemoryPercent Integer The percentage of memory allocated on each node for storing the internal index in disk index cache memory. Use the internal index to access all content stored on disk for that node. You can size disk index memory based on available disk space and the average object size. As a general guide, an index for one object takes 48 bytes of memory.
frontEndCacheMemoryPercent Integer The percentage of memory allocated on each node for storing entire objects in front-end cache memory.
hotCacheMemoryPercent Integer The percentage of memory allocated on each node for storing chunks of popular content in hot cache memory. Use hot cache memory to store both standard and RAM-only content. Akamai recommends that you don’t change the default value of 5 for this memory category.
ramOnlyCacheMemoryPercent Integer The percentage of memory allocated for content that is identified for storage in RAM-only cache memory. RAM-only caching is applicable to all sites, both client-serving and not client-serving.

IpAddressTag

Detailed read schema for IP address tag.

Download schema: ip-address-tag.read-detailed.schema.json

Sample POST request:

{
    "name": "tag1"
}

Sample GET request:

{
    "ipAddressTagId": 1000,
    "name": "tag1"
}

IpAddressTag members

Member Type Required Description
IpAddressTag: Detailed read schema for IP address tag.
ipAddressTagId Integer Read-only. The unique identifier for an IP address tag.
name String The unique name for this tag.

StoragePartition

Storage partition reserves hard disk space for certain content types.

Download schema: storage-partition.read-detailed.schema.json

Sample POST request:

{
    "name": "partition1",
    "description": "Partition for VOD",
    "defaultPartitionSizePercent": 25,
    "sitePartitions": [
        {
            "siteId": 7,
            "partitionSizePercent": 50
        }
    ]
}

Sample GET request:

{
    "storagePartitionId": 1,
    "name": "partition1",
    "description": "Partition for VOD",
    "defaultStoragePartitionPercent": 25,
    "sitePartitions": [
        {
            "siteId": 7,
            "partitionSizePercent": 50
        }
    ]
}

StoragePartition members

Member Type Required Description
StoragePartition: Storage partition reserves hard disk space for certain content types.
defaultPartitionSizePercent Integer The amount of storage allocated to a profile.
description String A description of the storage partition.
name String A unique name for the Storage Partition. Consists of up to 128 alphanumeric characters, special characters, and spaces.
sitePartitions StoragePartition.sitePartitions[] Per-site override of the default percent.
storagePartitionId Integer Read-only. The unique identifier for a Storage Partition.
systemQuota Boolean Whether this quota is a system owned partition and false indicates a user defined partition.
StoragePartition.sitePartitions[]: Per-site override of the default percent.
partitionSizePercent Integer The amount of storage allocated to a profile.
siteId Integer The unique identifier for a site.

HyperCacheSettings

Settings for HyperCache services.

Download schema: hypercache-service-settings.schema.json

Sample PUT request:

{
    "ingestTcpReceiveBufferSizeKB": 64,
    "interSiteTcpTransmitBufferSizeKB": 64,
    "enableTcpSlowStartOnIdleConnection": true,
    "enablePragmaHeaders": false,
    "enableQuickRecoveryMode": false,
    "keepAliveRequestLimit": 100000,
    "frontEndCaching": {
        "maxObjectSizeMB": 10,
        "maxIngestDelayMs": 0,
        "minUseCount": 1,
        "cacheRangeMode": "OFF"
    },
    "originOverloadProtection": {
        "throttleProfile": "NONE",
        "responseCodes": [],
        "individualQueueMaximum": 0
    },
    "lastMileAcceleration": {
        "enable": false
    }
}

HyperCacheSettings members

Member Type Required Description
HyperCacheSettings: Settings for HyperCache services.
enablePragmaHeaders Boolean Pragma header support is disabled by default on all HPC nodes configured on the LCDN. When enabled, the HPC node receives HTML requests that include Pragma headers.
enableTcpSlowStartOnIdleConnection Boolean Controls or regulates the amount of data that an HPC parent node can send over a new TCP connection with the amount of data an HPC child node can accept.
frontEndCaching HyperCacheSettings.frontEndCaching The front-end caching types you can specify to minimize CPU processing when serving popular content.
ingestTcpReceiveBufferSizeKB Integer Specifies the size of the receive buffer, in kilobytes, for the socket that the HPC uses to ingest content. The value you specify depends on the ingest bandwidth and round trip delay.
interSiteTcpTransmitBufferSizeKB Integer Specifies the size of the transmit buffers, in kilobytes, from HPC parent nodes to child nodes and transmit buffers between HPC nodes in a site.
keepAliveRequestLimit Integer Sets the number of requests that the HPC can serve to clients using one persistent connection. After the HPC serves the configured number of requests, the connection is closed.
lastMileAcceleration HyperCacheSettings.lastMileAcceleration Specify the types of content you want to compress and the types of clients you want to exclude from receiving compressed content. When configured globally across all HyperCache nodes on an LCDN, Last Mile Acceleration uses a predefined default list of compressed content types and a predefined set of client types that can’t receive compressed content.
originOverloadProtection HyperCacheSettings.originOverloadProtection Enables HPCs to detect origin server overload and limit the ingest requests sent to an origin server. Under certain circumstances, an origin server becomes overloaded with more ingest requests than the origin can handle.
HyperCacheSettings.frontEndCaching: The front-end caching types you can specify to minimize CPU processing when serving popular content.
cacheRangeMode Enumeration Specifies the front-end cache range request behavior. OFF indicates that the HPC doesn’t cache range requests in front-end cache. This is the default. RANGE indicates that the HyperCache includes the range as part of the cache key. OBJECT indicates that upon receiving a new client range request, the HPC attempts to ingest and cache the entire object if the object does not reside in front-end cache or the HPC serves the requested range to the client with a 206 response code if the object resides in front-end cache.
maxIngestDelayMs Integer Indicates the maximum amount of time, in milliseconds, that the HPC can delay client requests for objects that are currently being ingested by front-end cache. A setting of zero specifies that no ingest delay occurs for client requests.
maxObjectSizeMB Integer The maximum object size, in megabytes. The HPC doesn’t cache objects larger than the object size you specify in front-end cache.
minUseCount Integer The minimum number of client requests for an object before the HPC attempts to cache the object in front-end cache. If the number of client requests is less than the value specified, the HPC doesn’t use front-end caching for the requested object. Instead, the HPC proceeds with the normal caching flow.
HyperCacheSettings.lastMileAcceleration: Specify the types of content you want to compress and the types of clients you want to exclude from receiving compressed content. When configured globally across all HyperCache nodes on an LCDN, Last Mile Acceleration uses a predefined default list of compressed content types and a predefined set of client types that can’t receive compressed content.
compressionLevel Integer Specify a value that determines the degree to which the content is compressed, from 1 to 9 in increased compression.
enable Boolean Enable Last Mile Acceleration globally, across all HyperCache nodes in the LCDN, except for content associated with specific URI filters that you configure on a per-URI filter basis.
HyperCacheSettings.originOverloadProtection: Enables HPCs to detect origin server overload and limit the ingest requests sent to an origin server. Under certain circumstances, an origin server becomes overloaded with more ingest requests than the origin can handle.
individualQueueMaximum Integer The maximum number of ingest requests that the HPC can hold in the throttle queue for any individual origin server IP address, before the HPC begins to drop ingest requests to that origin server. Specify the maximum value in kilobytes.
responseCodes Array A list of response codes that the origin server returns for an ingest request, when the origin server is overloaded. Each string in the array must contain 3 digits, with no whitespace, tabs, or carriage returns allowed.
throttleProfile Enumeration A preconfigured list of profiles that defines how HPCs react to different levels of overload errors, how they manage new requests, and how they determine when the overload has subsided. These profiles apply to all origins and all HPCs in the LCDN. Apply FAST or HEAVY to throttle fewer new requests, LIGHT to throttle more, or NONE to disable throttling.

RequestRouterSettings

Settings for Request Routing services.

Download schema: requestrouter-service-settings.schema.json

Sample PUT request:

{
    "defaultTtl": 30,
    "maxAnswers": 3,
    "enableDnsRefusedResponse": false,
    "enableDnsResponseGlueRecords": true,
    "enableAccessLogging": true,
    "enableAccessControl": true,
    "lastResortMapAction": "DROP",
    "noMatchMapAction": "DROP",
    "defaultSiteMapId": 1000,
    "defaultAccessMapId": 1001,
    "ip4GeoIpConfigId": 1050,
    "bgpConfigId": 1100
}

RequestRouterSettings members

Member Type Required Description
RequestRouterSettings: Settings for Request Routing services.
bgpConfigId Integer Unique ID for the BGP configuration.
defaultAccessMapId Integer Unique ID for the default access map.
defaultSiteMapId Integer Unique ID for the default site map.
defaultTtl Integer Specifies the DNS response time-to-live in seconds.
enableAccessControl Boolean Enable access control for the Request Router service.
enableAccessLogging Boolean Enables Request Router to generate log lines for every DNS request and response for the Request Router service.
enableDnsRefusedResponse Boolean Enables Request Router to send a DNS REFUSED response, or send no response, when a request is dropped.
enableDnsResponseGlueRecords Boolean Enables Request Router to include glue records in its DNS responses.
ip4GeoIpConfigId Integer Unique ID for the IPv4 GeoIP configuration.
ip6GeoIpConfigId Integer Unique ID for the IPv6 GeoIP configuration.
lastResortMapAction Enumeration The action that Request Router performs when the redirection map contains a client IP address match but all HPC nodes in the map rule are unavailable, either overloaded, down, or in maintenance mode. BEST indicates that Request Router chooses the least-loaded available HPC node in the CDN. ANY indicates that Request Router chooses any available HPC node in the CDN. DROP indicates that Request Router ignores the request.
maxAnswers Integer Maximum number of answers in the DNS responses.
noMatchMapAction Enumeration The action that Request Router performs when the IP address of the requesting client doesn’t match the IP addresses specified in the redirection map. BEST indicates that Request Router chooses the least-loaded available HPC node in the CDN. ANY indicates that Request Router chooses any available HPC node in the CDN. DROP indicates that Request Router ignores the request.

OriginPaths

Origin paths detailed read schema.

Download schema: origin-paths.read-detailed.schema.json

Sample GET request:

{
    "originId": 50,
    "contentProviderId": 3,
    "hostname": "vod.mydomain.com",
    "paths": [
        {
            "siteId": 1,
            "preference": 1,
            "resolvableHostnames": [
                "origin1.vod.mydomain.com"
            ]
        }
    ]
}

OriginPaths members

Member Type Required Description
OriginPaths: Origin paths detailed read schema.
contentProviderId Integer Read-only. The unique identifier for a ContentProvider.
hostname String Read-only. Hostname for this origin.
originId Integer Read-only. The unique identifier for an Origin.
paths OriginPaths.paths[] The definition of a path from a site to this origin.
OriginPaths.paths[]: The definition of a path from a site to this origin.
preference Integer Preference assigned to a path.
resolvableHostnamesType Array List of resolvable hostnames for a path.
siteId Integer The unique identifier for a site.

CacheHierarchy

Cache hierarchy settings for neighbor paths.

Download schema: cache-hierarchy.read.schema.json

Sample GET request:

{
    "hierarchy": [
        {
            "siteId": 1,
            "neighbors": [
                {
                    "siteId": 2,
                    "preference": 1
                },
                {
                    "siteId": 3,
                    "preference": 2
                }
            ]
        },
        {
            "siteId": 2,
            "neighbors": [
                {
                    "siteId": 3,
                    "preference": 1
                }
            ]
        },
        {
            "siteId": 3,
            "neighbors": []
        }
    ]
}

CacheHierarchy members

Member Type Required Description
CacheHierarchy: Cache hierarchy settings for neighbor paths.
hierarchy CacheHierarchy.hierarchy[] Bundle of hierarchy entries.
CacheHierarchy.hierarchy[]: Bundle of hierarchy entries.
neighbors CacheHierarchy.hierarchy[].neighbors[] Lists the neighbor entries for a Cache Hierarchy object.
siteId Integer The unique identifier for a site.
CacheHierarchy.hierarchy[].neighbors[]: Lists the neighbor entries for a Cache Hierarchy object.
preference Integer Preference value for the site in the outer structure to this site.
siteId Integer The unique identifier for a site.

Errors

This section provides details about the data object that reflects the API’s common response to error cases, and lists the API’s range of response status codes for both error and success cases.

Error responses

In error cases, the API returns an HTTP Problem JSON object with the application/problem+json media type. For example, when you try to GET a site that does not exist, the API responds with a JSON object similar to the example below:

{
  "type" : "https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/lcdn-services/errors#core.entity-not-found",
  "title" : "The requested entity could not be found",
  "detail" : "Site 99999 does not exist",
  "instance" : "https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/lcdn-services/v1/sites/99999#fae1fd860940d25d",
  "entityType" : "Node",
  "entityId" : 99999
}

HTTP status codes

This section lists the full range of response codes the API generates.

Code Description
200 The operation was successful.
201 Resource created.
400 Bad request.
401 Authentication failure.
403 The client doesn’t have the appropriate authority to perform the requested operation.
404 Resource not found.
405 Method not supported.
409 Conflict with the current state of the resource.
415 Unsupported media type.
503 Service is temporarily unavailable.