loading

Licensed CDN Content Delivery API v1

Configure how web content deploys and responds on an Aura Licensed CDN, and deploy and operate your own content delivery network.

Learn more:


Overview

The Content Delivery API is applicable to the Aura LCDN, the licensed CDN offering for network operators who deploy and operate their own CDN to deliver content they own.

Who should use this API

This RESTful API allows the CDN Operator or Content Provider to manage their own content delivery options, including Origin Servers, CDN prefixes, URI Filters and TLS Profiles.

Getting started

Before you use the Content Provider API for the first time:

  • Contact your Akamai representative to enable it for your account.

  • A contentProviderId is given to the Content Provider.

  • The Content Provider must obtain an authorization token using one of the supported flows using the client_id/client_secret from the application created by the CDN Operator.

  • Review Get Started on tools that Akamai provides for all its APIs.

  • Before you begin any API operations, you must obtain and store the value of the Content Provider IDs (contentProviderId) that you need from the AMC GUI.

To obtain Content Provider IDs, follow these instructions:

  1. Log in to the AMC GUI using an account with LCDN Operator privileges.

    The default administrator account is co@domain-name, where domain-name specifies the domain assigned to the AMC. Use the password you configured when you installed and configured the AMC.

    The CDN Health dashboard opens.

  2. In the CDN Health dashboard, click Configure and under Content Delivery select Content Providers.

  3. In the Content Provider Management page, mouse over the name of a Content Provider to view the Content Provider ID.

  4. Store the value of the Content Provider IDs.

Resources

This section provides details on the API’s various operations. These are the resources reflected in the API’s URLs.

  • CDN Prefix: A CDN Prefix corresponds to the fully qualified domain name (FQDN) at the beginning of a URI, effectively carving out a region of the URI name space to which a set of rules and policies are applied.

  • Rule Tree: A rule object is used to respond to different kinds of requests. A rule consists of a set of children which include criteria that identify which requests to process, and the behaviors to apply to those requests.

  • Origin: An origin server which contains content that the Content Provider wants to deliver over the LCDN.

  • TLS Delivery Profile: A profile that specifies the security settings used for TLS connections from the HyperCache for secure content delivery.

  • TLS Ingest Profile: A profile that configures the ingest of content from an origin over HTTPS.

  • Shared Secret Set: Shared secret set objects contain secret pairs that are used for URI Signing, which is used as an authorization method for content delivery.

  • Secrets: Unique key/index string pair(s) to be added as members of the secret set.

Note that you will need to obtain certain object IDs externally. Please refer to the Getting Started section for instructions.

API summary

Download the RAML descriptors for this API.

Operation Method Endpoint
Content Delivery  
Create a New CDN Prefix POST /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes
List CDN Prefixes GET /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes
Update a CDN Prefix PUT /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}
Delete a CDN Prefix DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}
Get a CDN Prefix GET /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}
Update a Rule Tree PUT /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}/rules
Get a Rule Tree GET /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}/rules
Create a New Origin POST /api/content-delivery/v1/content-providers/{contentProviderId}/origins
List Origins GET /api/content-delivery/v1/content-providers/{contentProviderId}/origins
Update an Origin PUT /api/content-delivery/v1/content-providers/{contentProviderId}/origins/{originId}
Delete an Origin DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/origins/{originId}
Get an Origin GET /api/content-delivery/v1/content-providers/{contentProviderId}/origins/{originId}
Create a New TLS Delivery Profile POST /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles
List TLS Delivery Profiles GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles
Update a TLS Delivery Profile PUT /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}
Delete a TLS Delivery Profile DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}
Get a TLS Delivery Profile GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}
List CDN prefixes for a TLS Delivery Profile GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}/cdn-prefixes
Create a New TLS Ingest Profile POST /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles
List TLS Ingest Profiles GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles
Update a TLS Ingest Profile PUT /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}
Delete a TLS Ingest Profile DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}
Get a TLS Ingest Profile GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}
List Origins for a TLS Delivery Profile GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}/origins
Create a New Shared Secret Set POST /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets
List Shared Secret Sets GET /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets
Delete a Shared Secret DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets/{sharedSecretSetId}
Get a Shared Secret Set GET /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets/{sharedSecretSetId}
Update Secrets PUT /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets/{sharedSecretSetId}/secrets
Get Secrets GET /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets/{sharedSecretSetId}/secrets
Support Resources  
List Errors GET /api/content-delivery/errors

Create a new CDN prefix

This operation creates a new CDN prefix. A CDN prefix is a defined hostname which is referenced by an end-user’s request for content. This is accomplished using a DNS lookup directed to a node running Request Router. The Request Router then determines the HPC node best able to serve that particular end-user’s request.

POST /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes

Sample: /api/content-delivery/v1/content-providers/3/cdn-prefixes

Content-Type: application/json

Request Body:

{
    "prefix": "somewhere.com",
    "enable": true,
    "prefixPrioritization": "HIGH",
    "contentProviderId": 3
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 201 application/json

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/content-delivery/v1/content-providers/1/cdn-prefixes/1

Response Body:

{
    "cdnPrefixId": 4,
    "prefix": "somewhere.com",
    "enable": true,
    "prefixPrioritization": "HIGH",
    "contentProviderId": 3
}
  1. Build a CdnPrefix POST object.

  2. POST the object to /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes.

  3. To interpret the response object, go to CdnPrefix.

List CDN prefixes

This operation provides a list of the CDN prefixes owned by the Content Provider that you specify with a Content Provider ID.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes

Sample: /api/content-delivery/v1/content-providers/3/cdn-prefixes

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 200 application/json

Response Body:

{
    "cdnPrefixes": [
        {
            "cdnPrefixId": 4,
            "prefix": "somewhere.com"
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}
  1. Run the List CDN Prefixes operation and store the cdnPrefixId of the relevant CDN Prefix from the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes.

  3. To interpret the response object, go to CdnPrefix.

Update a CDN prefix

This operation modifies an existing CDN prefix.

PUT /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}

Sample: /api/content-delivery/v1/content-providers/3/cdn-prefixes/4

Content-Type: application/json

Request Body:

{
    "cdnPrefixId": 4,
    "prefix": "somewhere.com",
    "enable": true,
    "prefixPrioritization": "HIGH",
    "contentProviderId": 3
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
cdnPrefixId Integer 4 Unique identifier for each CDN prefix.

Status 200 application/json

Response Body:

{
    "cdnPrefixId": 4,
    "prefix": "somewhere.com",
    "enable": true,
    "prefixPrioritization": "HIGH",
    "contentProviderId": 3
}
  1. Run the Get a CDN Prefix operation and store the cdnPrefixId of the relevant CDN Prefix from the response.

  2. Update the appropriate properties in the CdnPrefix object.

  3. Make a PUT request to /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}. The HTTP request body is the CdnPrefix object created in Step 2, represented in JSON.

  4. To interpret the response object, go to CdnPrefix.

Delete a CDN prefix

This operation deletes a CDN prefix.

DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}

Sample: /api/content-delivery/v1/content-providers/3/cdn-prefixes/4

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
cdnPrefixId Integer 4 Unique identifier for each CDN prefix.

Status 204

  1. Run the Get a CDN Prefix operation and store the cdnPrefixId of the relevant CDN Prefix from the response.

  2. Make a DELETE request to /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}.

Get a CDN prefix

This operation provides a list of the CDN prefixes.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}

Sample: /api/content-delivery/v1/content-providers/3/cdn-prefixes/4

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
cdnPrefixId Integer 4 Unique identifier for each CDN prefix.

Status 200 application/json

Response Body:

{
    "cdnPrefixId": 4,
    "prefix": "somewhere.com",
    "enable": true,
    "prefixPrioritization": "HIGH",
    "contentProviderId": 3
}
  1. Run the List CDN Prefixes operation and store the cdnPrefixId of the relevant CDN Prefix from the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}.

  3. To interpret the response object, go to CdnPrefix.

Update a rule tree

This operation updates the rule behaviors for a CDN prefix.

PUT /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}/rules

Sample: /api/content-delivery/v1/content-providers/3/cdn-prefixes/4/rules

Content-Type: application/json

Request Body:

{
    "defaultBehaviors": [
        {
            "name": "originServer",
            "options": {
                "originId": 1
            }
        }
    ],
    "children": [
        {
            "name": "first filter",
            "criterion": {
                "name": "uriFilter",
                "options": {
                    "uriFilterType": "PREFIX_MATCH",
                    "uriFilterValue": "/objects"
                }
            },
            "behaviors": [
                {
                    "name": "ramOnlyCaching",
                    "options": {
                        "enable": true
                    }
                },
                {
                    "name": "fastcgiAuth",
                    "options": {
                        "enable": true,
                        "server": "auth.server:88",
                        "params": {
                            "foo": "bar"
                        },
                        "backupServers": [
                            "auth2.server:88"
                        ]
                    }
                },
                {
                    "name": "httpsDelivery",
                    "options": {
                        "value": "DISABLE"
                    }
                },
                {
                    "name": "excludedQueryArguments",
                    "options": {
                        "value": [
                            "arg1",
                            "arg2"
                        ]
                    }
                },
                {
                    "name": "externalOriginAuth",
                    "options": {
                        "service": "AMAZON_AWS_S3",
                        "accessKey": "...",
                        "secretKey": "...",
                        "signedHeaders": [
                            "H1"
                        ],
                        "region": "us-east-1"
                    }
                },
                {
                    "name": "lastMileAcceleration",
                    "options": {
                        "contentTypes": [
                            "application/type1",
                            "application/type2"
                        ],
                        "compressionLevel": 6,
                        "enable": true,
                        "uaRestrict": "^client100$"
                    }
                },
                {
                    "name": "limitRate",
                    "options": {
                        "bandwidth": 1000,
                        "unit": "MB_PER_SECOND"
                    }
                },
                {
                    "name": "uriSignature",
                    "options": {
                        "protectedPathPattern": "$some/protected/path",
                        "tokenEncoding": "BASE64",
                        "tokenParameter": "$signatureToken",
                        "sharedSecretSetId": 1,
                        "sharedSecretIndexParameter": "$myParam",
                        "algorithm": "MD5",
                        "inputParameterCapitalization": "NO_CHANGE",
                        "inputParameterPattern": "arg1",
                        "uriExpirationParameter": "$expires"
                    }
                },
                {
                    "name": "cors",
                    "options": {
                        "accessControlAllowHeaders": [
                            "X-Header1",
                            "X-Header2"
                        ],
                        "accessControlAllowOrigin": {
                            "allowAllOrigins": true
                        },
                        "accessControlAllowMethods": [
                            "GET",
                            "HEAD"
                        ],
                        "accessControlMaxAge": 3600,
                        "enablePreflight": true
                    }
                }
            ]
        }
    ]
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
cdnPrefixId Integer 4 Unique identifier for each CDN prefix.

Status 200 application/json

Response Body:

{
    "defaultBehaviors": [
        {
            "name": "originServer",
            "options": {
                "originId": 1
            }
        }
    ],
    "children": [
        {
            "name": "first filter",
            "criterion": {
                "name": "uriFilter",
                "options": {
                    "uriFilterType": "PREFIX_MATCH",
                    "uriFilterValue": "/objects"
                }
            },
            "behaviors": [
                {
                    "name": "ramOnlyCaching",
                    "options": {
                        "enable": true
                    }
                },
                {
                    "name": "fastcgiAuth",
                    "options": {
                        "enable": true,
                        "server": "auth.server:88",
                        "params": {
                            "foo": "bar"
                        },
                        "backupServers": [
                            "auth2.server:88"
                        ]
                    }
                },
                {
                    "name": "httpsDelivery",
                    "options": {
                        "value": "DISABLE"
                    }
                },
                {
                    "name": "excludedQueryArguments",
                    "options": {
                        "value": [
                            "arg1",
                            "arg2"
                        ]
                    }
                },
                {
                    "name": "externalOriginAuth",
                    "options": {
                        "service": "AMAZON_AWS_S3",
                        "accessKey": "...",
                        "secretKey": "...",
                        "signedHeaders": [
                            "H1"
                        ],
                        "region": "us-east-1"
                    }
                },
                {
                    "name": "lastMileAcceleration",
                    "options": {
                        "contentTypes": [
                            "application/type1",
                            "application/type2"
                        ],
                        "compressionLevel": 6,
                        "enable": true,
                        "uaRestrict": "^client100$"
                    }
                },
                {
                    "name": "limitRate",
                    "options": {
                        "bandwidth": 1000,
                        "unit": "MB_PER_SECOND"
                    }
                },
                {
                    "name": "uriSignature",
                    "options": {
                        "protectedPathPattern": "$some/protected/path",
                        "tokenEncoding": "BASE64",
                        "tokenParameter": "$signatureToken",
                        "sharedSecretSetId": 1,
                        "sharedSecretIndexParameter": "$myParam",
                        "algorithm": "MD5",
                        "inputParameterCapitalization": "NO_CHANGE",
                        "inputParameterPattern": "arg1",
                        "uriExpirationParameter": "$expires"
                    }
                },
                {
                    "name": "cors",
                    "options": {
                        "accessControlAllowHeaders": [
                            "X-Header1",
                            "X-Header2"
                        ],
                        "accessControlAllowOrigin": {
                            "allowAllOrigins": true
                        },
                        "accessControlAllowMethods": [
                            "GET",
                            "HEAD"
                        ],
                        "accessControlMaxAge": 3600,
                        "enablePreflight": true
                    }
                }
            ]
        }
    ]
}
  1. Run the Get a CDN Prefix operation to store the cdnPrefixId of the relevant CDN prefix rule in the response.

  2. Update the appropriate properties in the CDN prefix rule.

  3. Make a PUT request to /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}/rules.

  4. To interpret the response object, go to Rule.

Get a rule tree

This operation displays the default rule behaviors for a CDN prefix.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}/rules

Sample: /api/content-delivery/v1/content-providers/3/cdn-prefixes/4/rules

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
cdnPrefixId Integer 4 Unique identifier for each CDN prefix.

Status 200 application/json

Response Body:

{
    "defaultBehaviors": [
        {
            "name": "originServer",
            "options": {
                "originId": 1
            }
        }
    ],
    "children": [
        {
            "name": "first filter",
            "criterion": {
                "name": "uriFilter",
                "options": {
                    "uriFilterType": "PREFIX_MATCH",
                    "uriFilterValue": "/objects"
                }
            },
            "behaviors": [
                {
                    "name": "ramOnlyCaching",
                    "options": {
                        "enable": true
                    }
                },
                {
                    "name": "fastcgiAuth",
                    "options": {
                        "enable": true,
                        "server": "auth.server:88",
                        "params": {
                            "foo": "bar"
                        },
                        "backupServers": [
                            "auth2.server:88"
                        ]
                    }
                },
                {
                    "name": "httpsDelivery",
                    "options": {
                        "value": "DISABLE"
                    }
                },
                {
                    "name": "excludedQueryArguments",
                    "options": {
                        "value": [
                            "arg1",
                            "arg2"
                        ]
                    }
                },
                {
                    "name": "externalOriginAuth",
                    "options": {
                        "service": "AMAZON_AWS_S3",
                        "accessKey": "...",
                        "secretKey": "...",
                        "signedHeaders": [
                            "H1"
                        ],
                        "region": "us-east-1"
                    }
                },
                {
                    "name": "lastMileAcceleration",
                    "options": {
                        "contentTypes": [
                            "application/type1",
                            "application/type2"
                        ],
                        "compressionLevel": 6,
                        "enable": true,
                        "uaRestrict": "^client100$"
                    }
                },
                {
                    "name": "limitRate",
                    "options": {
                        "bandwidth": 1000,
                        "unit": "MB_PER_SECOND"
                    }
                },
                {
                    "name": "uriSignature",
                    "options": {
                        "protectedPathPattern": "$some/protected/path",
                        "tokenEncoding": "BASE64",
                        "tokenParameter": "$signatureToken",
                        "sharedSecretSetId": 1,
                        "sharedSecretIndexParameter": "$myParam",
                        "algorithm": "MD5",
                        "inputParameterCapitalization": "NO_CHANGE",
                        "inputParameterPattern": "arg1",
                        "uriExpirationParameter": "$expires"
                    }
                },
                {
                    "name": "cors",
                    "options": {
                        "accessControlAllowHeaders": [
                            "X-Header1",
                            "X-Header2"
                        ],
                        "accessControlAllowOrigin": {
                            "allowAllOrigins": true
                        },
                        "accessControlAllowMethods": [
                            "GET",
                            "HEAD"
                        ],
                        "accessControlMaxAge": 3600,
                        "enablePreflight": true
                    }
                }
            ]
        }
    ]
}
  1. Run the Get a CDN Prefix operation and store the cdnPrefixId of the relevant CDN prefix rule in the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/cdn-prefixes/{cdnPrefixId}/rules.

  3. To interpret the response object, go to Rule.

Create a new origin

This operation allows a Service Provider to register a new URL for each origin server that a Content Provider wants to add to the CDN.

POST /api/content-delivery/v1/content-providers/{contentProviderId}/origins

Sample: /api/content-delivery/v1/content-providers/3/origins

Content-Type: application/json

Request Body:

{
    "contentProviderId": 3,
    "hostname": "somewhere.com",
    "description": "Some place far away",
    "enable": true,
    "cachingType": "CONSERVATIVE",
    "interSiteProtocol": "HTTP",
    "intraSiteProtocol": "HTTP",
    "enableAuthenticatedContent": false,
    "enableSiteRedirects": false
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 201 application/json

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/content-delivery/v1/content-providers/1/origins/1

Response Body:

{
    "originId": 3,
    "contentProviderId": 3,
    "hostname": "somewhere.com",
    "description": "Some place far away",
    "enable": true,
    "cachingType": "CONSERVATIVE",
    "interSiteProtocol": "HTTP",
    "intraSiteProtocol": "HTTP",
    "enableAuthenticatedContent": false,
    "enableSiteRedirects": false
}
  1. Build a Origin request object.

  2. POST the object to /api/content-delivery/v1/content-providers/{contentProviderId}/origins.

  3. To interpret the response object, go to Origin.

List origins

This operation displays the origins owned by the Content Provider specified by {contentProviderId}.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/origins

Sample: /api/content-delivery/v1/content-providers/3/origins

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 200 application/json

Response Body:

{
    "origins": [
        {
            "originId": 3,
            "url": "somewhere.com"
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}
  1. Run the List Origins operation and store the originId of the relevant origin in the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/origins</{originId}>.

  3. To interpret the response object, go to Origin.

Update an origin

This operation modifies the origin servers associated with a specified Content Provider.

PUT /api/content-delivery/v1/content-providers/{contentProviderId}/origins/{originId}

Sample: /api/content-delivery/v1/content-providers/3/origins/3

Content-Type: application/json

Request Body:

{
    "originId": 3,
    "contentProviderId": 3,
    "hostname": "somewhere.com",
    "description": "Some place far away",
    "enable": true,
    "cachingType": "CONSERVATIVE",
    "interSiteProtocol": "HTTP",
    "intraSiteProtocol": "HTTP",
    "enableAuthenticatedContent": false,
    "enableSiteRedirects": false
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
originId Integer 3 Unique identifier for each origin.

Status 200 application/json

Response Body:

{
    "originId": 3,
    "contentProviderId": 3,
    "hostname": "somewhere.com",
    "description": "Some place far away",
    "enable": true,
    "cachingType": "CONSERVATIVE",
    "interSiteProtocol": "HTTP",
    "intraSiteProtocol": "HTTP",
    "enableAuthenticatedContent": false,
    "enableSiteRedirects": false
}
  1. Run the List Origins operation and store the originId of the relevant origin in the response.

  2. Update the appropriate properties in the origin object Origin.

  3. Make a PUT request to /api/content-delivery/v1/content-providers/{contentProviderId}/origins/{originId}. The HTTP request body is the origin object composed in Step 2, represented in JSON format.

  4. To interpret the response object, see Origin.

Delete an origin

This operation removes the association of an Origin Server from the specified Content Provider.

DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/origins/{originId}

Sample: /api/content-delivery/v1/content-providers/3/origins/3

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
originId Integer 3 Unique identifier for each origin.

Status 204

  1. Run the List Origins operation and store the originId of the relevant origin in the response.

  2. Make a DELETE request to delete the origin object from /api/content-delivery/v1/content-providers/{contentProviderId}/origins/{originId}.

Get an origin

This operation displays a list of origin servers associated with a specified Content Provider.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/origins/{originId}

Sample: /api/content-delivery/v1/content-providers/3/origins/3

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
originId Integer 3 Unique identifier for each origin.

Status 200 application/json

Response Body:

{
    "originId": 3,
    "contentProviderId": 3,
    "hostname": "somewhere.com",
    "description": "Some place far away",
    "enable": true,
    "cachingType": "CONSERVATIVE",
    "interSiteProtocol": "HTTP",
    "intraSiteProtocol": "HTTP",
    "enableAuthenticatedContent": false,
    "enableSiteRedirects": false
}
  1. Run the List Origins operation and store the originId of the relevant origin in the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/origins/{originId}.

  3. To interpret the response object, go to Origin.

Create a new TLS delivery profile

This operation creates a new Content Provider TLS Delivery profile. The Content Provider TLS Delivery profile specifies the security settings used for TLS connections when a Content Provider wants content delivered over HTTPS. This type of profile is created by the Content Provider, and its available for use by CDN Prefixes owned by that Content Provider.

POST /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles

Sample: /api/content-delivery/v1/content-providers/3/tls-delivery-profiles

Content-Type: application/json

Request Body:

{
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsCertificate": "-----BEGIN CERTIFICATE-----\nMIIGTjCCBDagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVT\nMQswCQYDVQQIDAJNQTESMBAGA1UEBwwJQ2FtYnJpZGdlMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRcwFQYDVQQDDA5sY2RuLmRvY2tlci5jYTEgMB4GCSqGSIb3DQEJ\nARYRbm9ib2R5QGFrYW1haS5jb20wHhcNMTcwNjE1MTQyMjAzWhcNNDQxMDMwMTQy\nMjAzWjCBmTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1BMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRQwEgYDVQQDDAtKVW5pdCBUZXN0czEfMB0GCSqGSIb3DQEJARYQ\nanVuaXRAYWthbWFpLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nALXVfrXTzUhFY9RVNPP7ghE/qngf5xhzvlHQav9x6vUkHSbcvBr8tpuV3fjdMua7\ntNgH8AL/B3h8boD4kZZWDGlz7HmA2AH1Lvq3FBY6jY3VusbfK+X3VOZ7cmecYv9l\n9Rpk20vZrWXI8WnPlYrhmC639GhQ4ZPJy69XQD28dvXGw7usCbs3BZdqi4A2CiNG\nmFiTZyFBh1V4WSkWsaah2MA3XDlx/cxl1wC8bIMm8pQE1cWGzF2R6MOJqy4CMWxi\nVkBomGEOq/7rkuiXBlDQZ/E5M3vEM44BjH0sUrF9xydWvtW856blrosoevD3sOt1\novDgZzXFCABnACzVe/iMYS8CAwEAAaOCAYQwggGAMAkGA1UdEwQCMAAwEQYJYIZI\nAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBT\nZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFIub/DhaKcLxfbxpTcw8YdiT5O9H\nMIHmBgNVHSMEgd4wgduAFATfWUDHxy1CWxSHYJLxJqDiHhI2oYG3pIG0MIGxMQsw\nCQYDVQQGEwJVUzELMAkGA1UECAwCTUExEjAQBgNVBAcMCUNhbWJyaWRnZTEiMCAG\nA1UECgwZQWthbWFpIFRlY2hub2xvZ2llcywgSW5jLjEiMCAGA1UECwwZQ2Fycmll\nciBQcm9kdWN0cyBEaXZpc2lvbjEXMBUGA1UEAwwObGNkbi5kb2NrZXIuY2ExIDAe\nBgkqhkiG9w0BCQEWEW5vYm9keUBha2FtYWkuY29tggkAz0/BS2yHqvAwDgYDVR0P\nAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IC\nAQDAqO8TYIYmPmtlkctmdYpAjyHrezyOvQqISI1puzUZiv45r1RLJdnx61hCeZXr\naIYgtsPco7yzZP1kmpb1VifJuVzX84MqoJlmIJsSlR7n3cu64qUe0eSs3ZnkFw1d\nWWz0UzWeMYU9f4hf9QPiFV15VjwpWOpwOeuBOoX1eIEQbd8dpIh05TgU6UV6cyTR\nLPImlFhqEKb5uQPUMf4jjnbgiMI+DRWiCElYJ1l3wS1xbVaqaQQaCmsPfvKQ9oIe\nO/HeEpdFtT6pgMaPB7cnxHnMArVGaWLeApnuIvSvbziLU2pA2IUIvktINoSbXMiN\nP/5IDt3CBLs7bMpeUTclo7W58H5m1UEGmfTjl4HmSEIuyXBREx49S8dvgrijvLsS\nGBAeV2JYovAgn0Jz2vD7zWD8QoacOsiu7UUnnBWhY+Lb2xB4w2tfCAfkzhfOt4Cr\nu6iSHiyQH0MwZXFSkfGtEMG40MW/UTWbBbYqCML3YDR3Ncbj8toiyWKTkkDBL6LJ\nlNfRWm955Q85bcrBseAY94wyCsnv9JhLvIq/RrLZqjv/8GOol/P0kzL1TIFBbP6G\nI576UQ9nrWO+oFcC9CYq9OnMKDYuwQ6a1/d1i8dhj3HwPakrS8hLGe5PgNM983f8\n3VfxMEPxHp0J3lYQDslGHURspHGRVRRvaUZeLvk8lmnf1g==\n-----END CERTIFICATE-----\n",
    "tlsCertificateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAtdV+tdPNSEVj1FU08/uCET+qeB/nGHO+UdBq/3Hq9SQdJty8\nGvy2m5Xd+N0y5ru02AfwAv8HeHxugPiRllYMaXPseYDYAfUu+rcUFjqNjdW6xt8r\n5fdU5ntyZ5xi/2X1GmTbS9mtZcjxac+ViuGYLrf0aFDhk8nLr1dAPbx29cbDu6wJ\nuzcFl2qLgDYKI0aYWJNnIUGHVXhZKRaxpqHYwDdcOXH9zGXXALxsgybylATVxYbM\nXZHow4mrLgIxbGJWQGiYYQ6r/uuS6JcGUNBn8Tkze8QzjgGMfSxSsX3HJ1a+1bzn\npuWuiyh68Pew63Wi8OBnNcUIAGcALNV7+IxhLwIDAQABAoIBAF/tJ5GpES1FXisQ\nYIUudCnBWp9QxUvDE+55c1kbsgZtbOupm5rpIzTlVVsK5uWOtRMa7OXHwRsxGeL0\nP2n+L0Iao/Bdppcxz/z4RKKNdUwUKxrrdW82khWdnndGq3ttQGcSOhbD2ZRO8/0M\nRComZXCQH2JA+SBMXyY7c2qeWGvD8oeCFVW+NLTBe3SZBvEzYz4ZvFOG/jTX9P79\noCvgPIoCneu9W3c1ZbizOzQsV7OW6qBmuqwoJHRZ+8mYXCrPEx7SUyzp4/TYcF+d\nn+MDfNxVvLxkh4dpKsa/icsw1JJTxDq9TBw44lHtnfNpi1OWBh027p6KnjWPU0Aa\n+y/SdLECgYEA37XRzMG31+Na0LqSzQm/szA62bG/EYzD7fuybmu6r0Hr2hy4yPlB\nAwbycqAevCKF3r7/z2eJJegC0/l+7YQI5Zt098lCbFBd7WBHS2zf/nH7+KL6rdfG\nHlcKMR6g3h7n3A7Z5UnqO1Xw0gvi/UchLrYh6T9N8WazJAp1F9ForZUCgYEA0BRU\nuv+4SvVd7vFhGxyemcygrt1Sb+QshPPTPv+a/00bN5s9ksweOzFFQp4KieBwZDdI\nXlZYQBeO9HDbitkWTCBm7cRwQ8dH9kyhxknX3Cm6iL1//0NXF30HdNpiiDCEosjF\nXtkLCim2IL/xsC7fBbeHvr2Lth6hRNJv08aaerMCgYEAuMogpikyajNUVex3zMSL\nxEFHq4EGmkGTqqZpaoq0Z4ZlgwKMpP43dH+tj3+yQ6ekuy08c59Li7NNermx3hJd\nowQ5p2Bo7L2qCKWp3qTtlemjwGsn9Key8GbndVGegjw3O/BMjvjycdb4mRjWhG7X\n+xTZiCkRgiFaQqAcvvLsq80CgYEAmSiN4YL+tPX8aTd0wY8EUrKjB3NTDZcHCemq\n8TEVdpvbz8dNwDLMgcdXcpx/p1Lzh2CFvSKTHMH6cIRtpLr7xZcIDDVOaSVTG8D2\nRsztvVlduu65Ozvm7BwUk/d3FUWZK3TaimD51kYzj9GY5ZTqhfu8SDKelrPfAphe\nxaPm6y8CgYEApoObwhaX4d2NChFSAvaVNmyt5huXdIQ6JBzW/zFlgxA6f24H4Wxg\nw65RHeXr3m84HuHt+hl5pZS0dxDKQrCjxwY88xJP8MY1+eaMzZvDTCjInWUzHBD0\nvXEjh6gigJXD30VXF5GxO0gmkm5OcgmhOKGOq0gTRrSVmRrwNHCnE+E=\n-----END RSA PRIVATE KEY-----",
    "tlsCertificateDetails": {
        "fingerprints": {
            "sha1Fingerprint": "DD:44:7A:D5:B3:DE:D3:C5:3B:CD:DC:72:21:D2:E7:42:C7:C4:0E:75",
            "sha256Fingerprint": "78:12:89:CC:AF:A4:25:12:4E:E9:B5:DF:D5:F3:95:67:18:46:5A:9E:1E:60:AF:AF:AE:5E:3A:7C:F4:E6:92:82"
        },
        "validity": {
            "notBefore": "2017-06-15T14:22:03.000+0000",
            "notAfter": "2044-10-30T14:22:03.000+0000"
        },
        "issuedTo": {
            "commonName": "JUnit Tests",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division",
            "serial": "10:00"
        },
        "issuedBy": {
            "commonName": "lcdn.docker.ca",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division"
        }
    }
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 201 application/json

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/content-delivery/v1/content-providers/1/tls-delivery-profiles/1

Response Body:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsDeliveryProfileId": 1,
    "tlsCertificate": "-----BEGIN CERTIFICATE-----\nMIIGTjCCBDagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVT\nMQswCQYDVQQIDAJNQTESMBAGA1UEBwwJQ2FtYnJpZGdlMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRcwFQYDVQQDDA5sY2RuLmRvY2tlci5jYTEgMB4GCSqGSIb3DQEJ\nARYRbm9ib2R5QGFrYW1haS5jb20wHhcNMTcwNjE1MTQyMjAzWhcNNDQxMDMwMTQy\nMjAzWjCBmTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1BMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRQwEgYDVQQDDAtKVW5pdCBUZXN0czEfMB0GCSqGSIb3DQEJARYQ\nanVuaXRAYWthbWFpLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nALXVfrXTzUhFY9RVNPP7ghE/qngf5xhzvlHQav9x6vUkHSbcvBr8tpuV3fjdMua7\ntNgH8AL/B3h8boD4kZZWDGlz7HmA2AH1Lvq3FBY6jY3VusbfK+X3VOZ7cmecYv9l\n9Rpk20vZrWXI8WnPlYrhmC639GhQ4ZPJy69XQD28dvXGw7usCbs3BZdqi4A2CiNG\nmFiTZyFBh1V4WSkWsaah2MA3XDlx/cxl1wC8bIMm8pQE1cWGzF2R6MOJqy4CMWxi\nVkBomGEOq/7rkuiXBlDQZ/E5M3vEM44BjH0sUrF9xydWvtW856blrosoevD3sOt1\novDgZzXFCABnACzVe/iMYS8CAwEAAaOCAYQwggGAMAkGA1UdEwQCMAAwEQYJYIZI\nAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBT\nZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFIub/DhaKcLxfbxpTcw8YdiT5O9H\nMIHmBgNVHSMEgd4wgduAFATfWUDHxy1CWxSHYJLxJqDiHhI2oYG3pIG0MIGxMQsw\nCQYDVQQGEwJVUzELMAkGA1UECAwCTUExEjAQBgNVBAcMCUNhbWJyaWRnZTEiMCAG\nA1UECgwZQWthbWFpIFRlY2hub2xvZ2llcywgSW5jLjEiMCAGA1UECwwZQ2Fycmll\nciBQcm9kdWN0cyBEaXZpc2lvbjEXMBUGA1UEAwwObGNkbi5kb2NrZXIuY2ExIDAe\nBgkqhkiG9w0BCQEWEW5vYm9keUBha2FtYWkuY29tggkAz0/BS2yHqvAwDgYDVR0P\nAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IC\nAQDAqO8TYIYmPmtlkctmdYpAjyHrezyOvQqISI1puzUZiv45r1RLJdnx61hCeZXr\naIYgtsPco7yzZP1kmpb1VifJuVzX84MqoJlmIJsSlR7n3cu64qUe0eSs3ZnkFw1d\nWWz0UzWeMYU9f4hf9QPiFV15VjwpWOpwOeuBOoX1eIEQbd8dpIh05TgU6UV6cyTR\nLPImlFhqEKb5uQPUMf4jjnbgiMI+DRWiCElYJ1l3wS1xbVaqaQQaCmsPfvKQ9oIe\nO/HeEpdFtT6pgMaPB7cnxHnMArVGaWLeApnuIvSvbziLU2pA2IUIvktINoSbXMiN\nP/5IDt3CBLs7bMpeUTclo7W58H5m1UEGmfTjl4HmSEIuyXBREx49S8dvgrijvLsS\nGBAeV2JYovAgn0Jz2vD7zWD8QoacOsiu7UUnnBWhY+Lb2xB4w2tfCAfkzhfOt4Cr\nu6iSHiyQH0MwZXFSkfGtEMG40MW/UTWbBbYqCML3YDR3Ncbj8toiyWKTkkDBL6LJ\nlNfRWm955Q85bcrBseAY94wyCsnv9JhLvIq/RrLZqjv/8GOol/P0kzL1TIFBbP6G\nI576UQ9nrWO+oFcC9CYq9OnMKDYuwQ6a1/d1i8dhj3HwPakrS8hLGe5PgNM983f8\n3VfxMEPxHp0J3lYQDslGHURspHGRVRRvaUZeLvk8lmnf1g==\n-----END CERTIFICATE-----\n",
    "tlsCertificateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAtdV+tdPNSEVj1FU08/uCET+qeB/nGHO+UdBq/3Hq9SQdJty8\nGvy2m5Xd+N0y5ru02AfwAv8HeHxugPiRllYMaXPseYDYAfUu+rcUFjqNjdW6xt8r\n5fdU5ntyZ5xi/2X1GmTbS9mtZcjxac+ViuGYLrf0aFDhk8nLr1dAPbx29cbDu6wJ\nuzcFl2qLgDYKI0aYWJNnIUGHVXhZKRaxpqHYwDdcOXH9zGXXALxsgybylATVxYbM\nXZHow4mrLgIxbGJWQGiYYQ6r/uuS6JcGUNBn8Tkze8QzjgGMfSxSsX3HJ1a+1bzn\npuWuiyh68Pew63Wi8OBnNcUIAGcALNV7+IxhLwIDAQABAoIBAF/tJ5GpES1FXisQ\nYIUudCnBWp9QxUvDE+55c1kbsgZtbOupm5rpIzTlVVsK5uWOtRMa7OXHwRsxGeL0\nP2n+L0Iao/Bdppcxz/z4RKKNdUwUKxrrdW82khWdnndGq3ttQGcSOhbD2ZRO8/0M\nRComZXCQH2JA+SBMXyY7c2qeWGvD8oeCFVW+NLTBe3SZBvEzYz4ZvFOG/jTX9P79\noCvgPIoCneu9W3c1ZbizOzQsV7OW6qBmuqwoJHRZ+8mYXCrPEx7SUyzp4/TYcF+d\nn+MDfNxVvLxkh4dpKsa/icsw1JJTxDq9TBw44lHtnfNpi1OWBh027p6KnjWPU0Aa\n+y/SdLECgYEA37XRzMG31+Na0LqSzQm/szA62bG/EYzD7fuybmu6r0Hr2hy4yPlB\nAwbycqAevCKF3r7/z2eJJegC0/l+7YQI5Zt098lCbFBd7WBHS2zf/nH7+KL6rdfG\nHlcKMR6g3h7n3A7Z5UnqO1Xw0gvi/UchLrYh6T9N8WazJAp1F9ForZUCgYEA0BRU\nuv+4SvVd7vFhGxyemcygrt1Sb+QshPPTPv+a/00bN5s9ksweOzFFQp4KieBwZDdI\nXlZYQBeO9HDbitkWTCBm7cRwQ8dH9kyhxknX3Cm6iL1//0NXF30HdNpiiDCEosjF\nXtkLCim2IL/xsC7fBbeHvr2Lth6hRNJv08aaerMCgYEAuMogpikyajNUVex3zMSL\nxEFHq4EGmkGTqqZpaoq0Z4ZlgwKMpP43dH+tj3+yQ6ekuy08c59Li7NNermx3hJd\nowQ5p2Bo7L2qCKWp3qTtlemjwGsn9Key8GbndVGegjw3O/BMjvjycdb4mRjWhG7X\n+xTZiCkRgiFaQqAcvvLsq80CgYEAmSiN4YL+tPX8aTd0wY8EUrKjB3NTDZcHCemq\n8TEVdpvbz8dNwDLMgcdXcpx/p1Lzh2CFvSKTHMH6cIRtpLr7xZcIDDVOaSVTG8D2\nRsztvVlduu65Ozvm7BwUk/d3FUWZK3TaimD51kYzj9GY5ZTqhfu8SDKelrPfAphe\nxaPm6y8CgYEApoObwhaX4d2NChFSAvaVNmyt5huXdIQ6JBzW/zFlgxA6f24H4Wxg\nw65RHeXr3m84HuHt+hl5pZS0dxDKQrCjxwY88xJP8MY1+eaMzZvDTCjInWUzHBD0\nvXEjh6gigJXD30VXF5GxO0gmkm5OcgmhOKGOq0gTRrSVmRrwNHCnE+E=\n-----END RSA PRIVATE KEY-----",
    "tlsCertificateDetails": {
        "fingerprints": {
            "sha1Fingerprint": "DD:44:7A:D5:B3:DE:D3:C5:3B:CD:DC:72:21:D2:E7:42:C7:C4:0E:75",
            "sha256Fingerprint": "78:12:89:CC:AF:A4:25:12:4E:E9:B5:DF:D5:F3:95:67:18:46:5A:9E:1E:60:AF:AF:AE:5E:3A:7C:F4:E6:92:82"
        },
        "validity": {
            "notBefore": "2017-06-15T14:22:03.000+0000",
            "notAfter": "2044-10-30T14:22:03.000+0000"
        },
        "issuedTo": {
            "commonName": "JUnit Tests",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division",
            "serial": "10:00"
        },
        "issuedBy": {
            "commonName": "lcdn.docker.ca",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division"
        }
    }
}
  1. Build a TlsDeliveryProfile object.

  2. POST the object to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles.

  3. To interpret the response object, go to TlsDeliveryProfile.

List TLS delivery profiles

This operation lists the TLS delivery profiles owned by the specified Content Provider.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles

Sample: /api/content-delivery/v1/content-providers/3/tls-delivery-profiles

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 200 application/json

Response Body:

{
    "tlsDeliveryProfiles": [
        {
            "name": "test",
            "tlsDeliveryProfileId": 1
        }
    ]
}
  1. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles.

  2. To interpret the response object, go to TlsDeliveryProfile.

Update a TLS delivery profile

After you create a Content Provider TLS Delivery profile, you can use this operation to modify the profile parameters for the specified Content Provider.

PUT /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}

Sample: /api/content-delivery/v1/content-providers/3/tls-delivery-profiles/1

Content-Type: application/json

Request Body:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsDeliveryProfileId": 1,
    "tlsCertificate": "-----BEGIN CERTIFICATE-----\nMIIGTjCCBDagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVT\nMQswCQYDVQQIDAJNQTESMBAGA1UEBwwJQ2FtYnJpZGdlMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRcwFQYDVQQDDA5sY2RuLmRvY2tlci5jYTEgMB4GCSqGSIb3DQEJ\nARYRbm9ib2R5QGFrYW1haS5jb20wHhcNMTcwNjE1MTQyMjAzWhcNNDQxMDMwMTQy\nMjAzWjCBmTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1BMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRQwEgYDVQQDDAtKVW5pdCBUZXN0czEfMB0GCSqGSIb3DQEJARYQ\nanVuaXRAYWthbWFpLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nALXVfrXTzUhFY9RVNPP7ghE/qngf5xhzvlHQav9x6vUkHSbcvBr8tpuV3fjdMua7\ntNgH8AL/B3h8boD4kZZWDGlz7HmA2AH1Lvq3FBY6jY3VusbfK+X3VOZ7cmecYv9l\n9Rpk20vZrWXI8WnPlYrhmC639GhQ4ZPJy69XQD28dvXGw7usCbs3BZdqi4A2CiNG\nmFiTZyFBh1V4WSkWsaah2MA3XDlx/cxl1wC8bIMm8pQE1cWGzF2R6MOJqy4CMWxi\nVkBomGEOq/7rkuiXBlDQZ/E5M3vEM44BjH0sUrF9xydWvtW856blrosoevD3sOt1\novDgZzXFCABnACzVe/iMYS8CAwEAAaOCAYQwggGAMAkGA1UdEwQCMAAwEQYJYIZI\nAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBT\nZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFIub/DhaKcLxfbxpTcw8YdiT5O9H\nMIHmBgNVHSMEgd4wgduAFATfWUDHxy1CWxSHYJLxJqDiHhI2oYG3pIG0MIGxMQsw\nCQYDVQQGEwJVUzELMAkGA1UECAwCTUExEjAQBgNVBAcMCUNhbWJyaWRnZTEiMCAG\nA1UECgwZQWthbWFpIFRlY2hub2xvZ2llcywgSW5jLjEiMCAGA1UECwwZQ2Fycmll\nciBQcm9kdWN0cyBEaXZpc2lvbjEXMBUGA1UEAwwObGNkbi5kb2NrZXIuY2ExIDAe\nBgkqhkiG9w0BCQEWEW5vYm9keUBha2FtYWkuY29tggkAz0/BS2yHqvAwDgYDVR0P\nAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IC\nAQDAqO8TYIYmPmtlkctmdYpAjyHrezyOvQqISI1puzUZiv45r1RLJdnx61hCeZXr\naIYgtsPco7yzZP1kmpb1VifJuVzX84MqoJlmIJsSlR7n3cu64qUe0eSs3ZnkFw1d\nWWz0UzWeMYU9f4hf9QPiFV15VjwpWOpwOeuBOoX1eIEQbd8dpIh05TgU6UV6cyTR\nLPImlFhqEKb5uQPUMf4jjnbgiMI+DRWiCElYJ1l3wS1xbVaqaQQaCmsPfvKQ9oIe\nO/HeEpdFtT6pgMaPB7cnxHnMArVGaWLeApnuIvSvbziLU2pA2IUIvktINoSbXMiN\nP/5IDt3CBLs7bMpeUTclo7W58H5m1UEGmfTjl4HmSEIuyXBREx49S8dvgrijvLsS\nGBAeV2JYovAgn0Jz2vD7zWD8QoacOsiu7UUnnBWhY+Lb2xB4w2tfCAfkzhfOt4Cr\nu6iSHiyQH0MwZXFSkfGtEMG40MW/UTWbBbYqCML3YDR3Ncbj8toiyWKTkkDBL6LJ\nlNfRWm955Q85bcrBseAY94wyCsnv9JhLvIq/RrLZqjv/8GOol/P0kzL1TIFBbP6G\nI576UQ9nrWO+oFcC9CYq9OnMKDYuwQ6a1/d1i8dhj3HwPakrS8hLGe5PgNM983f8\n3VfxMEPxHp0J3lYQDslGHURspHGRVRRvaUZeLvk8lmnf1g==\n-----END CERTIFICATE-----\n",
    "tlsCertificateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAtdV+tdPNSEVj1FU08/uCET+qeB/nGHO+UdBq/3Hq9SQdJty8\nGvy2m5Xd+N0y5ru02AfwAv8HeHxugPiRllYMaXPseYDYAfUu+rcUFjqNjdW6xt8r\n5fdU5ntyZ5xi/2X1GmTbS9mtZcjxac+ViuGYLrf0aFDhk8nLr1dAPbx29cbDu6wJ\nuzcFl2qLgDYKI0aYWJNnIUGHVXhZKRaxpqHYwDdcOXH9zGXXALxsgybylATVxYbM\nXZHow4mrLgIxbGJWQGiYYQ6r/uuS6JcGUNBn8Tkze8QzjgGMfSxSsX3HJ1a+1bzn\npuWuiyh68Pew63Wi8OBnNcUIAGcALNV7+IxhLwIDAQABAoIBAF/tJ5GpES1FXisQ\nYIUudCnBWp9QxUvDE+55c1kbsgZtbOupm5rpIzTlVVsK5uWOtRMa7OXHwRsxGeL0\nP2n+L0Iao/Bdppcxz/z4RKKNdUwUKxrrdW82khWdnndGq3ttQGcSOhbD2ZRO8/0M\nRComZXCQH2JA+SBMXyY7c2qeWGvD8oeCFVW+NLTBe3SZBvEzYz4ZvFOG/jTX9P79\noCvgPIoCneu9W3c1ZbizOzQsV7OW6qBmuqwoJHRZ+8mYXCrPEx7SUyzp4/TYcF+d\nn+MDfNxVvLxkh4dpKsa/icsw1JJTxDq9TBw44lHtnfNpi1OWBh027p6KnjWPU0Aa\n+y/SdLECgYEA37XRzMG31+Na0LqSzQm/szA62bG/EYzD7fuybmu6r0Hr2hy4yPlB\nAwbycqAevCKF3r7/z2eJJegC0/l+7YQI5Zt098lCbFBd7WBHS2zf/nH7+KL6rdfG\nHlcKMR6g3h7n3A7Z5UnqO1Xw0gvi/UchLrYh6T9N8WazJAp1F9ForZUCgYEA0BRU\nuv+4SvVd7vFhGxyemcygrt1Sb+QshPPTPv+a/00bN5s9ksweOzFFQp4KieBwZDdI\nXlZYQBeO9HDbitkWTCBm7cRwQ8dH9kyhxknX3Cm6iL1//0NXF30HdNpiiDCEosjF\nXtkLCim2IL/xsC7fBbeHvr2Lth6hRNJv08aaerMCgYEAuMogpikyajNUVex3zMSL\nxEFHq4EGmkGTqqZpaoq0Z4ZlgwKMpP43dH+tj3+yQ6ekuy08c59Li7NNermx3hJd\nowQ5p2Bo7L2qCKWp3qTtlemjwGsn9Key8GbndVGegjw3O/BMjvjycdb4mRjWhG7X\n+xTZiCkRgiFaQqAcvvLsq80CgYEAmSiN4YL+tPX8aTd0wY8EUrKjB3NTDZcHCemq\n8TEVdpvbz8dNwDLMgcdXcpx/p1Lzh2CFvSKTHMH6cIRtpLr7xZcIDDVOaSVTG8D2\nRsztvVlduu65Ozvm7BwUk/d3FUWZK3TaimD51kYzj9GY5ZTqhfu8SDKelrPfAphe\nxaPm6y8CgYEApoObwhaX4d2NChFSAvaVNmyt5huXdIQ6JBzW/zFlgxA6f24H4Wxg\nw65RHeXr3m84HuHt+hl5pZS0dxDKQrCjxwY88xJP8MY1+eaMzZvDTCjInWUzHBD0\nvXEjh6gigJXD30VXF5GxO0gmkm5OcgmhOKGOq0gTRrSVmRrwNHCnE+E=\n-----END RSA PRIVATE KEY-----",
    "tlsCertificateDetails": {
        "fingerprints": {
            "sha1Fingerprint": "DD:44:7A:D5:B3:DE:D3:C5:3B:CD:DC:72:21:D2:E7:42:C7:C4:0E:75",
            "sha256Fingerprint": "78:12:89:CC:AF:A4:25:12:4E:E9:B5:DF:D5:F3:95:67:18:46:5A:9E:1E:60:AF:AF:AE:5E:3A:7C:F4:E6:92:82"
        },
        "validity": {
            "notBefore": "2017-06-15T14:22:03.000+0000",
            "notAfter": "2044-10-30T14:22:03.000+0000"
        },
        "issuedTo": {
            "commonName": "JUnit Tests",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division",
            "serial": "10:00"
        },
        "issuedBy": {
            "commonName": "lcdn.docker.ca",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division"
        }
    }
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
tlsDeliveryProfileId Integer 1 Unique identifier for each TLS delivery profile.

Status 200 application/json

Response Body:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsDeliveryProfileId": 1,
    "tlsCertificate": "-----BEGIN CERTIFICATE-----\nMIIGTjCCBDagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVT\nMQswCQYDVQQIDAJNQTESMBAGA1UEBwwJQ2FtYnJpZGdlMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRcwFQYDVQQDDA5sY2RuLmRvY2tlci5jYTEgMB4GCSqGSIb3DQEJ\nARYRbm9ib2R5QGFrYW1haS5jb20wHhcNMTcwNjE1MTQyMjAzWhcNNDQxMDMwMTQy\nMjAzWjCBmTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1BMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRQwEgYDVQQDDAtKVW5pdCBUZXN0czEfMB0GCSqGSIb3DQEJARYQ\nanVuaXRAYWthbWFpLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nALXVfrXTzUhFY9RVNPP7ghE/qngf5xhzvlHQav9x6vUkHSbcvBr8tpuV3fjdMua7\ntNgH8AL/B3h8boD4kZZWDGlz7HmA2AH1Lvq3FBY6jY3VusbfK+X3VOZ7cmecYv9l\n9Rpk20vZrWXI8WnPlYrhmC639GhQ4ZPJy69XQD28dvXGw7usCbs3BZdqi4A2CiNG\nmFiTZyFBh1V4WSkWsaah2MA3XDlx/cxl1wC8bIMm8pQE1cWGzF2R6MOJqy4CMWxi\nVkBomGEOq/7rkuiXBlDQZ/E5M3vEM44BjH0sUrF9xydWvtW856blrosoevD3sOt1\novDgZzXFCABnACzVe/iMYS8CAwEAAaOCAYQwggGAMAkGA1UdEwQCMAAwEQYJYIZI\nAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBT\nZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFIub/DhaKcLxfbxpTcw8YdiT5O9H\nMIHmBgNVHSMEgd4wgduAFATfWUDHxy1CWxSHYJLxJqDiHhI2oYG3pIG0MIGxMQsw\nCQYDVQQGEwJVUzELMAkGA1UECAwCTUExEjAQBgNVBAcMCUNhbWJyaWRnZTEiMCAG\nA1UECgwZQWthbWFpIFRlY2hub2xvZ2llcywgSW5jLjEiMCAGA1UECwwZQ2Fycmll\nciBQcm9kdWN0cyBEaXZpc2lvbjEXMBUGA1UEAwwObGNkbi5kb2NrZXIuY2ExIDAe\nBgkqhkiG9w0BCQEWEW5vYm9keUBha2FtYWkuY29tggkAz0/BS2yHqvAwDgYDVR0P\nAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IC\nAQDAqO8TYIYmPmtlkctmdYpAjyHrezyOvQqISI1puzUZiv45r1RLJdnx61hCeZXr\naIYgtsPco7yzZP1kmpb1VifJuVzX84MqoJlmIJsSlR7n3cu64qUe0eSs3ZnkFw1d\nWWz0UzWeMYU9f4hf9QPiFV15VjwpWOpwOeuBOoX1eIEQbd8dpIh05TgU6UV6cyTR\nLPImlFhqEKb5uQPUMf4jjnbgiMI+DRWiCElYJ1l3wS1xbVaqaQQaCmsPfvKQ9oIe\nO/HeEpdFtT6pgMaPB7cnxHnMArVGaWLeApnuIvSvbziLU2pA2IUIvktINoSbXMiN\nP/5IDt3CBLs7bMpeUTclo7W58H5m1UEGmfTjl4HmSEIuyXBREx49S8dvgrijvLsS\nGBAeV2JYovAgn0Jz2vD7zWD8QoacOsiu7UUnnBWhY+Lb2xB4w2tfCAfkzhfOt4Cr\nu6iSHiyQH0MwZXFSkfGtEMG40MW/UTWbBbYqCML3YDR3Ncbj8toiyWKTkkDBL6LJ\nlNfRWm955Q85bcrBseAY94wyCsnv9JhLvIq/RrLZqjv/8GOol/P0kzL1TIFBbP6G\nI576UQ9nrWO+oFcC9CYq9OnMKDYuwQ6a1/d1i8dhj3HwPakrS8hLGe5PgNM983f8\n3VfxMEPxHp0J3lYQDslGHURspHGRVRRvaUZeLvk8lmnf1g==\n-----END CERTIFICATE-----\n",
    "tlsCertificateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAtdV+tdPNSEVj1FU08/uCET+qeB/nGHO+UdBq/3Hq9SQdJty8\nGvy2m5Xd+N0y5ru02AfwAv8HeHxugPiRllYMaXPseYDYAfUu+rcUFjqNjdW6xt8r\n5fdU5ntyZ5xi/2X1GmTbS9mtZcjxac+ViuGYLrf0aFDhk8nLr1dAPbx29cbDu6wJ\nuzcFl2qLgDYKI0aYWJNnIUGHVXhZKRaxpqHYwDdcOXH9zGXXALxsgybylATVxYbM\nXZHow4mrLgIxbGJWQGiYYQ6r/uuS6JcGUNBn8Tkze8QzjgGMfSxSsX3HJ1a+1bzn\npuWuiyh68Pew63Wi8OBnNcUIAGcALNV7+IxhLwIDAQABAoIBAF/tJ5GpES1FXisQ\nYIUudCnBWp9QxUvDE+55c1kbsgZtbOupm5rpIzTlVVsK5uWOtRMa7OXHwRsxGeL0\nP2n+L0Iao/Bdppcxz/z4RKKNdUwUKxrrdW82khWdnndGq3ttQGcSOhbD2ZRO8/0M\nRComZXCQH2JA+SBMXyY7c2qeWGvD8oeCFVW+NLTBe3SZBvEzYz4ZvFOG/jTX9P79\noCvgPIoCneu9W3c1ZbizOzQsV7OW6qBmuqwoJHRZ+8mYXCrPEx7SUyzp4/TYcF+d\nn+MDfNxVvLxkh4dpKsa/icsw1JJTxDq9TBw44lHtnfNpi1OWBh027p6KnjWPU0Aa\n+y/SdLECgYEA37XRzMG31+Na0LqSzQm/szA62bG/EYzD7fuybmu6r0Hr2hy4yPlB\nAwbycqAevCKF3r7/z2eJJegC0/l+7YQI5Zt098lCbFBd7WBHS2zf/nH7+KL6rdfG\nHlcKMR6g3h7n3A7Z5UnqO1Xw0gvi/UchLrYh6T9N8WazJAp1F9ForZUCgYEA0BRU\nuv+4SvVd7vFhGxyemcygrt1Sb+QshPPTPv+a/00bN5s9ksweOzFFQp4KieBwZDdI\nXlZYQBeO9HDbitkWTCBm7cRwQ8dH9kyhxknX3Cm6iL1//0NXF30HdNpiiDCEosjF\nXtkLCim2IL/xsC7fBbeHvr2Lth6hRNJv08aaerMCgYEAuMogpikyajNUVex3zMSL\nxEFHq4EGmkGTqqZpaoq0Z4ZlgwKMpP43dH+tj3+yQ6ekuy08c59Li7NNermx3hJd\nowQ5p2Bo7L2qCKWp3qTtlemjwGsn9Key8GbndVGegjw3O/BMjvjycdb4mRjWhG7X\n+xTZiCkRgiFaQqAcvvLsq80CgYEAmSiN4YL+tPX8aTd0wY8EUrKjB3NTDZcHCemq\n8TEVdpvbz8dNwDLMgcdXcpx/p1Lzh2CFvSKTHMH6cIRtpLr7xZcIDDVOaSVTG8D2\nRsztvVlduu65Ozvm7BwUk/d3FUWZK3TaimD51kYzj9GY5ZTqhfu8SDKelrPfAphe\nxaPm6y8CgYEApoObwhaX4d2NChFSAvaVNmyt5huXdIQ6JBzW/zFlgxA6f24H4Wxg\nw65RHeXr3m84HuHt+hl5pZS0dxDKQrCjxwY88xJP8MY1+eaMzZvDTCjInWUzHBD0\nvXEjh6gigJXD30VXF5GxO0gmkm5OcgmhOKGOq0gTRrSVmRrwNHCnE+E=\n-----END RSA PRIVATE KEY-----",
    "tlsCertificateDetails": {
        "fingerprints": {
            "sha1Fingerprint": "DD:44:7A:D5:B3:DE:D3:C5:3B:CD:DC:72:21:D2:E7:42:C7:C4:0E:75",
            "sha256Fingerprint": "78:12:89:CC:AF:A4:25:12:4E:E9:B5:DF:D5:F3:95:67:18:46:5A:9E:1E:60:AF:AF:AE:5E:3A:7C:F4:E6:92:82"
        },
        "validity": {
            "notBefore": "2017-06-15T14:22:03.000+0000",
            "notAfter": "2044-10-30T14:22:03.000+0000"
        },
        "issuedTo": {
            "commonName": "JUnit Tests",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division",
            "serial": "10:00"
        },
        "issuedBy": {
            "commonName": "lcdn.docker.ca",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division"
        }
    }
}
  1. Run the List TLS Delivery Profiles operation and store the relevant TlsDeliveryProfile name.

  2. Update the appropriate properties in the TlsDeliveryProfile object.

  3. Make a PUT request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}. The HTTP request body is the TlsDeliveryProfile object created in Step 2, represented in JSON.

  4. To interpret the response object, go to TlsDeliveryProfile.

Delete a TLS delivery profile

This operation deletes a TLS Delivery profile for the specified Content Provider.

DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}

Sample: /api/content-delivery/v1/content-providers/3/tls-delivery-profiles/1

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
tlsDeliveryProfileId Integer 1 Unique identifier for each TLS delivery profile.

Status 204

  1. Run the List TLS Delivery Profiles operation and store the tlsDeliveryProfileId of the relevant TLS Delivery Profile from the response.

  2. Make a DELETE request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}.

Get a TLS delivery profile

This operation gets the specified TLS Delivery profile for the specified Content Provider.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}

Sample: /api/content-delivery/v1/content-providers/3/tls-delivery-profiles/1

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
tlsDeliveryProfileId Integer 1 Unique identifier for each TLS delivery profile.

Status 200 application/json

Response Body:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsDeliveryProfileId": 1,
    "tlsCertificate": "-----BEGIN CERTIFICATE-----\nMIIGTjCCBDagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVT\nMQswCQYDVQQIDAJNQTESMBAGA1UEBwwJQ2FtYnJpZGdlMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRcwFQYDVQQDDA5sY2RuLmRvY2tlci5jYTEgMB4GCSqGSIb3DQEJ\nARYRbm9ib2R5QGFrYW1haS5jb20wHhcNMTcwNjE1MTQyMjAzWhcNNDQxMDMwMTQy\nMjAzWjCBmTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1BMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRQwEgYDVQQDDAtKVW5pdCBUZXN0czEfMB0GCSqGSIb3DQEJARYQ\nanVuaXRAYWthbWFpLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nALXVfrXTzUhFY9RVNPP7ghE/qngf5xhzvlHQav9x6vUkHSbcvBr8tpuV3fjdMua7\ntNgH8AL/B3h8boD4kZZWDGlz7HmA2AH1Lvq3FBY6jY3VusbfK+X3VOZ7cmecYv9l\n9Rpk20vZrWXI8WnPlYrhmC639GhQ4ZPJy69XQD28dvXGw7usCbs3BZdqi4A2CiNG\nmFiTZyFBh1V4WSkWsaah2MA3XDlx/cxl1wC8bIMm8pQE1cWGzF2R6MOJqy4CMWxi\nVkBomGEOq/7rkuiXBlDQZ/E5M3vEM44BjH0sUrF9xydWvtW856blrosoevD3sOt1\novDgZzXFCABnACzVe/iMYS8CAwEAAaOCAYQwggGAMAkGA1UdEwQCMAAwEQYJYIZI\nAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBT\nZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFIub/DhaKcLxfbxpTcw8YdiT5O9H\nMIHmBgNVHSMEgd4wgduAFATfWUDHxy1CWxSHYJLxJqDiHhI2oYG3pIG0MIGxMQsw\nCQYDVQQGEwJVUzELMAkGA1UECAwCTUExEjAQBgNVBAcMCUNhbWJyaWRnZTEiMCAG\nA1UECgwZQWthbWFpIFRlY2hub2xvZ2llcywgSW5jLjEiMCAGA1UECwwZQ2Fycmll\nciBQcm9kdWN0cyBEaXZpc2lvbjEXMBUGA1UEAwwObGNkbi5kb2NrZXIuY2ExIDAe\nBgkqhkiG9w0BCQEWEW5vYm9keUBha2FtYWkuY29tggkAz0/BS2yHqvAwDgYDVR0P\nAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IC\nAQDAqO8TYIYmPmtlkctmdYpAjyHrezyOvQqISI1puzUZiv45r1RLJdnx61hCeZXr\naIYgtsPco7yzZP1kmpb1VifJuVzX84MqoJlmIJsSlR7n3cu64qUe0eSs3ZnkFw1d\nWWz0UzWeMYU9f4hf9QPiFV15VjwpWOpwOeuBOoX1eIEQbd8dpIh05TgU6UV6cyTR\nLPImlFhqEKb5uQPUMf4jjnbgiMI+DRWiCElYJ1l3wS1xbVaqaQQaCmsPfvKQ9oIe\nO/HeEpdFtT6pgMaPB7cnxHnMArVGaWLeApnuIvSvbziLU2pA2IUIvktINoSbXMiN\nP/5IDt3CBLs7bMpeUTclo7W58H5m1UEGmfTjl4HmSEIuyXBREx49S8dvgrijvLsS\nGBAeV2JYovAgn0Jz2vD7zWD8QoacOsiu7UUnnBWhY+Lb2xB4w2tfCAfkzhfOt4Cr\nu6iSHiyQH0MwZXFSkfGtEMG40MW/UTWbBbYqCML3YDR3Ncbj8toiyWKTkkDBL6LJ\nlNfRWm955Q85bcrBseAY94wyCsnv9JhLvIq/RrLZqjv/8GOol/P0kzL1TIFBbP6G\nI576UQ9nrWO+oFcC9CYq9OnMKDYuwQ6a1/d1i8dhj3HwPakrS8hLGe5PgNM983f8\n3VfxMEPxHp0J3lYQDslGHURspHGRVRRvaUZeLvk8lmnf1g==\n-----END CERTIFICATE-----\n",
    "tlsCertificateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAtdV+tdPNSEVj1FU08/uCET+qeB/nGHO+UdBq/3Hq9SQdJty8\nGvy2m5Xd+N0y5ru02AfwAv8HeHxugPiRllYMaXPseYDYAfUu+rcUFjqNjdW6xt8r\n5fdU5ntyZ5xi/2X1GmTbS9mtZcjxac+ViuGYLrf0aFDhk8nLr1dAPbx29cbDu6wJ\nuzcFl2qLgDYKI0aYWJNnIUGHVXhZKRaxpqHYwDdcOXH9zGXXALxsgybylATVxYbM\nXZHow4mrLgIxbGJWQGiYYQ6r/uuS6JcGUNBn8Tkze8QzjgGMfSxSsX3HJ1a+1bzn\npuWuiyh68Pew63Wi8OBnNcUIAGcALNV7+IxhLwIDAQABAoIBAF/tJ5GpES1FXisQ\nYIUudCnBWp9QxUvDE+55c1kbsgZtbOupm5rpIzTlVVsK5uWOtRMa7OXHwRsxGeL0\nP2n+L0Iao/Bdppcxz/z4RKKNdUwUKxrrdW82khWdnndGq3ttQGcSOhbD2ZRO8/0M\nRComZXCQH2JA+SBMXyY7c2qeWGvD8oeCFVW+NLTBe3SZBvEzYz4ZvFOG/jTX9P79\noCvgPIoCneu9W3c1ZbizOzQsV7OW6qBmuqwoJHRZ+8mYXCrPEx7SUyzp4/TYcF+d\nn+MDfNxVvLxkh4dpKsa/icsw1JJTxDq9TBw44lHtnfNpi1OWBh027p6KnjWPU0Aa\n+y/SdLECgYEA37XRzMG31+Na0LqSzQm/szA62bG/EYzD7fuybmu6r0Hr2hy4yPlB\nAwbycqAevCKF3r7/z2eJJegC0/l+7YQI5Zt098lCbFBd7WBHS2zf/nH7+KL6rdfG\nHlcKMR6g3h7n3A7Z5UnqO1Xw0gvi/UchLrYh6T9N8WazJAp1F9ForZUCgYEA0BRU\nuv+4SvVd7vFhGxyemcygrt1Sb+QshPPTPv+a/00bN5s9ksweOzFFQp4KieBwZDdI\nXlZYQBeO9HDbitkWTCBm7cRwQ8dH9kyhxknX3Cm6iL1//0NXF30HdNpiiDCEosjF\nXtkLCim2IL/xsC7fBbeHvr2Lth6hRNJv08aaerMCgYEAuMogpikyajNUVex3zMSL\nxEFHq4EGmkGTqqZpaoq0Z4ZlgwKMpP43dH+tj3+yQ6ekuy08c59Li7NNermx3hJd\nowQ5p2Bo7L2qCKWp3qTtlemjwGsn9Key8GbndVGegjw3O/BMjvjycdb4mRjWhG7X\n+xTZiCkRgiFaQqAcvvLsq80CgYEAmSiN4YL+tPX8aTd0wY8EUrKjB3NTDZcHCemq\n8TEVdpvbz8dNwDLMgcdXcpx/p1Lzh2CFvSKTHMH6cIRtpLr7xZcIDDVOaSVTG8D2\nRsztvVlduu65Ozvm7BwUk/d3FUWZK3TaimD51kYzj9GY5ZTqhfu8SDKelrPfAphe\nxaPm6y8CgYEApoObwhaX4d2NChFSAvaVNmyt5huXdIQ6JBzW/zFlgxA6f24H4Wxg\nw65RHeXr3m84HuHt+hl5pZS0dxDKQrCjxwY88xJP8MY1+eaMzZvDTCjInWUzHBD0\nvXEjh6gigJXD30VXF5GxO0gmkm5OcgmhOKGOq0gTRrSVmRrwNHCnE+E=\n-----END RSA PRIVATE KEY-----",
    "tlsCertificateDetails": {
        "fingerprints": {
            "sha1Fingerprint": "DD:44:7A:D5:B3:DE:D3:C5:3B:CD:DC:72:21:D2:E7:42:C7:C4:0E:75",
            "sha256Fingerprint": "78:12:89:CC:AF:A4:25:12:4E:E9:B5:DF:D5:F3:95:67:18:46:5A:9E:1E:60:AF:AF:AE:5E:3A:7C:F4:E6:92:82"
        },
        "validity": {
            "notBefore": "2017-06-15T14:22:03.000+0000",
            "notAfter": "2044-10-30T14:22:03.000+0000"
        },
        "issuedTo": {
            "commonName": "JUnit Tests",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division",
            "serial": "10:00"
        },
        "issuedBy": {
            "commonName": "lcdn.docker.ca",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division"
        }
    }
}
  1. Run the List TLS Delivery Profiles operation and store the tlsDeliveryProfileId of the relevant TLS Delivery Profile from the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}.

  3. To interpret the response object, go to TlsDeliveryProfile.

List CDN prefixes for a TLS delivery profile

This operation displays the list of CDN prefixes for the specified TLS Delivery profile.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}/cdn-prefixes

Sample: /api/content-delivery/v1/content-providers/3/tls-delivery-profiles/1/cdn-prefixes

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
tlsDeliveryProfileId Integer 1 Unique identifier for each TLS delivery profile.

Status 200 application/json

Response Body:

{
    "cdnPrefixes": [
        {
            "cdnPrefixId": 4,
            "prefix": "somewhere.com"
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}
  1. Run the List TLS Delivery Profiles operation and store the tlsDeliveryProfileId of the relevant TLS Delivery Profile from the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-delivery-profiles/{tlsDeliveryProfileId}/cdn-prefixes.

  3. To interpret the response object, go to CdnPrefix.

Create a new TLS Ingest Profile

This operation creates a TLS Ingest profile. To configure the ingest of content from an origin over HTTPS, a Content Provider must first create an TLS Ingest Profile and bind the profile to the origin. The HyperCache uses the TLS parameters specified in the TLS Ingest Profile to ingest content from the origin. A TLS Ingest Profile can be bound to one or more origins, and can only be deleted if it is not bound to an origin.

POST /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles

Sample: /api/content-delivery/v1/content-providers/3/tls-ingest-profiles

Content-Type: application/json

Request Body:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsProtocols": [
        "TLSV1",
        "TLSV1_2",
        "TLSV1_1"
    ],
    "ciphers": "HIGH:!aNULL:!MD5"
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 201 application/json

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/content-delivery/v1/content-providers/1/tls-ingest-profiles/1

Response Body:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsIngestProfileId": 1,
    "tlsProtocols": [
        "TLSV1",
        "TLSV1_2",
        "TLSV1_1"
    ],
    "ciphers": "HIGH:!aNULL:!MD5"
}
  1. Build a TlsIngestProfile object.

  2. POST the object to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles.

  3. To interpret the response object, go to TlsIngestProfile.

List TLS ingest profiles

This operation displays the list of TLS Ingest profiles owned by the specified Content Provider.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles

Sample: /api/content-delivery/v1/content-providers/3/tls-ingest-profiles

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 200 application/json

Response Body:

{
    "tlsIngestProfiles": [
        {
            "name": "test",
            "tlsIngestProfileId": 1
        }
    ]
}
  1. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles.

  2. To interpret the response object, go to TlsIngestProfile.

Update a TLS Ingest profile

After you create a TLS Ingest profile, you can modify its attributes using this operation.

PUT /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}

Sample: /api/content-delivery/v1/content-providers/3/tls-ingest-profiles/1

Content-Type: application/json

Request Body:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsIngestProfileId": 1,
    "tlsProtocols": [
        "TLSV1",
        "TLSV1_2",
        "TLSV1_1"
    ],
    "ciphers": "HIGH:!aNULL:!MD5"
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
tlsIngestProfileId Integer 1 Unique identifier for each TLS ingest profile.

Status 200 application/json

Response Body:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsIngestProfileId": 1,
    "tlsProtocols": [
        "TLSV1",
        "TLSV1_2",
        "TLSV1_1"
    ],
    "ciphers": "HIGH:!aNULL:!MD5"
}
  1. Run the List TLS Ingest Profiles operation and store the relevant TlsIngestProfile name from the response.

  2. Update the appropriate properties in the TlsIngestProfile object.

  3. Make a PUT request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}. The HTTP request body should be the TlsIngestProfile object created in Step 2, represented in JSON.

  4. To interpret the response object, go to TlsIngestProfile.

Delete a TLS ingest profile

This operation deletes a TLS Ingest profile for the specified Content Provider. A TLS Ingest profile can be bound to one or more origins, and can only be deleted if it is not bound to an origin.

DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}

Sample: /api/content-delivery/v1/content-providers/3/tls-ingest-profiles/1

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
tlsIngestProfileId Integer 1 Unique identifier for each TLS ingest profile.

Status 204

  1. Run the List TLS Ingest Profiles operation and store the tlsIngestProfileId of the relevant TLS Ingest Profile from the response.

  2. Make a DELETE request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}.

Get a TLS ingest profile

This operation gets details about a specified TLS Ingest profile.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}

Sample: /api/content-delivery/v1/content-providers/3/tls-ingest-profiles/1

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
tlsIngestProfileId Integer 1 Unique identifier for each TLS ingest profile.

Status 200 application/json

Response Body:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsIngestProfileId": 1,
    "tlsProtocols": [
        "TLSV1",
        "TLSV1_2",
        "TLSV1_1"
    ],
    "ciphers": "HIGH:!aNULL:!MD5"
}
  1. Run the List TLS Ingest Profiles operation and store the tlsIngestProfileId form the relevant TLS Ingest Profile from the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}.

  3. To interpret the response object, go to TlsIngestProfile.

List origins for a TLS delivery profile

This operation lists the origins associated with a specified TLS Delivery profile.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}/origins

Sample: /api/content-delivery/v1/content-providers/3/tls-ingest-profiles/1/origins

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
tlsIngestProfileId Integer 1 Unique identifier for each TLS ingest profile.

Status 200 application/json

Response Body:

{
    "origins": [
        {
            "originId": 3,
            "url": "somewhere.com"
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}
  1. Run the TlsIngestProfile operation and store the tlsIngestProfileId of the relevant TLS Ingest Profile in the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/tls-ingest-profiles/{tlsIngestProfileId}/origins.

  3. To interpret the response object, go to TlsIngestProfile.

Create a new shared secret set

This operation creates a new Shared Secret Set for the specified Content Provider.

POST /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets

Sample: /api/content-delivery/v1/content-providers/3/shared-secret-sets

Content-Type: application/json

Request Body:

{
    "name": "secret-set1"
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 201 application/json

Headers:

Location: https://akzz-xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx.luna.akamaiapis.net/api/content-delivery/v1/content-providers/1/shared-secret-sets/1

Response Body:

{
    "sharedSecretSetId": 3,
    "name": "secret-set1"
}
  1. Build a Create a New Shared Secret Set POST object.

  2. POST the object to /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secrets-sets.

  3. To interpret the response object, go to SharedSecretSet.

List shared secret sets

This operation lists all shared secrets sets for a specified Content Provider.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets

Sample: /api/content-delivery/v1/content-providers/3/shared-secret-sets

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.

Status 200 application/json

Response Body:

{
    "sharedSecretSets": [
        {
            "sharedSecretSetId": 3,
            "name": "secret-set1"
        }
    ],
    "page": {
        "pageNumber": 1,
        "pageSize": 100,
        "totalPages": 1,
        "totalResults": 1
    }
}
  1. Run the List Shared Secret Sets operation and store the sharedSecretSets value of the relevant shared secret sets in the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}//shared-secret-sets/{sharedSecretSetId}/secrets.

  3. To interpret the response object, go to SharedSecretSet.

Delete a shared secret

This operation deletes a Shared Secret Set for a specified Content Provider.

DELETE /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets/{sharedSecretSetId}

Sample: /api/content-delivery/v1/content-providers/3/shared-secret-sets/1

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
sharedSecretSetId Integer 1 Unique identifier for each shared secret set.

Status 204

  1. Run the Delete a Shared Secret operation and store the sharedSecretId of the relevant shared secret set in the response.

  2. Make a DELETE request to delete the shared secret set object from /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secrets-sets/{sharedSecretSetId}.

Get a shared secret set

This operation gets the details about a Shared Secret Set for a specified Content Provider.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets/{sharedSecretSetId}

Sample: /api/content-delivery/v1/content-providers/3/shared-secret-sets/1

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
sharedSecretSetId Integer 1 Unique identifier for each shared secret set.

Status 200 application/json

Response Body:

{
    "sharedSecretSetId": 3,
    "name": "secret-set1"
}
  1. Run the Get a Shared Secret Set operation and store the ‘sharedSecretSetId’ of the relevant shared secret set in the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secrets-sets/{sharedSecretSetId}.

  3. To interpret the response object, go to SharedSecretSet.

Update Secrets

This operation updates the details of a Shared Secret Set for a specified Content Provider.

PUT /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets/{sharedSecretSetId}/secrets

Sample: /api/content-delivery/v1/content-providers/3/shared-secret-sets/1/secrets

Content-Type: application/json

Request Body:

{
    "secrets": {
        "secret1": "sshh!",
        "secret2": "psst!"
    }
}
Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
sharedSecretSetId Integer 1 Unique identifier for each shared secret set.

Status 200 application/json

Response Body:

{
    "secrets": {
        "secret1": "sshh!",
        "secret2": "psst!"
    }
}
  1. Run the Get a Shared Secret Set operation and store the ‘sharedSecretSetId’ of the relevant shared secret set in the response.

  2. Update the appropriate properties in the object, as desired.

  3. Make a PUT request to /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secrets-sets/{sharedSecretSetId}/secrets. The HTTP request body should be the shared secret set object composed in Step 2, represented in JSON format.

  4. To interpret the response object, go to Secrets.

Get Secrets

This operation gets the details of a Shared Secret Set for a specified Content Provider.

GET /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secret-sets/{sharedSecretSetId}/secrets

Sample: /api/content-delivery/v1/content-providers/3/shared-secret-sets/1/secrets

Parameter Type Sample Description
URL parameters
contentProviderId Integer 3 Unique identifier for each content provider.
sharedSecretSetId Integer 1 Unique identifier for each shared secret set.

Status 200 application/json

Response Body:

{
    "secrets": {
        "secret1": "sshh!",
        "secret2": "psst!"
    }
}
  1. Run the Get a Shared Secret Set operation and store the sharedSecretSetId of the relevant shared secret set in the response.

  2. Make a GET request to /api/content-delivery/v1/content-providers/{contentProviderId}/shared-secrets-sets/{sharedSecretSetId}/secrets.

  3. To interpret the response object, go to Secrets.

List errors

Retrieve the listing.

GET /api/content-delivery/errors

Status 200 text/html

Response Body:

<!DOCTYPE html>
<html>
<head><title>Content-delivery API Errors</title></head>
<body>
<h1>Content-delivery API Error Descriptions</h1>

<a name="core.internal-error-exception"><h3>core.internal-error-exception</h3></a>
An internal error has occurred during processing.  Internal errors are not expected during normal system operation.  Please contact the system administrator for more information

<a name="core.unauthorized"><h3>core.unauthorized</h3></a>
The request did not contain valid authorization.  Obtain a valid authorization token from the authorization server and retry the request.

<a name="core.bad-request"><h3>core.bad-request</h3></a>
A bad request was received by the system.  The intent of the request could not be understood.  Please inspect the requested operation and ensure it is properly formed

<a name="core.constraint-violation"><h3>core.constraint-violation</h3></a>
The request received by the system contained more or more constraint violations.  More detail about each violation should be included in the error response.  Please check the error description for each respective error to learn more about each constraint violation.

<a name="core.not-null-violation"><h3>core.not-null-violation</h3></a>
A required property was missing from the request.  For many required properties, the system is able to determine a reasonable default.  However, not all properties have defaults, and thus must be specified.  Please retry the request with the property specified.

<a name="core.null-violation"><h3>core.null-violation</h3></a>
A property required to not be specified for a request was present.  Please retry the request withouth the property.

<a name="core.size-violation"><h3>core.size-violation</h3></a>
A property was specified with a value that was outside the valid range for the property.  The error message will often include the allowable minimum and maximum values.  Please retry the request with a valid value.

<a name="core.max-violation"><h3>core.max-violation</h3></a>
A property was specified with a value larger than it's allowable maximum.  Please check the documentation for the range of allowable values for this property

<a name="core.min-violation"><h3>core.min-violation</h3></a>
A property was specified with a value smaller than it's allowable minimum.  Please check the documentation for the range of allowable values for this property

<a name="core.pattern-violation"><h3>core.pattern-violation</h3></a>
A property value did not match the required pattern.  Please check the documentation for this entity for rules about property naming.

<a name="core.entity-not-found"><h3>core.entity-not-found</h3></a>
The requested entity could not be found.

<a name="core.entity-general-conflict"><h3>core.entity-general-conflict</h3></a>
A non-specific conflict error occurred.

<a name="core.hostname-violation"><h3>core.hostname-violation</h3></a>
The provided hostname was not properly formed.

<a name="core.ipv4-address-violation"><h3>core.ipv4-address-violation</h3></a>
The provided IPv4 address was not a well-formed address.

<a name="core.ipv6-address-violation"><h3>core.ipv6-address-violation</h3></a>
The provided IPv6 address was not a well-formed address.

<a name="core.mac-address-violation"><h3>core.mac-address-violation</h3></a>
The provided MAC address was not a well-formed address

<a name="core.non-existent-reference"><h3>core.non-existent-reference</h3></a>
The request referred to an instance of another entity that could not be found.  Please check the configuration and locate the correct instance.

<a name="core.entity-referenced-conflict"><h3>core.entity-referenced-conflict</h3></a>
An operation was attempted on an entity that is referenced by other entities.  This would cause a problem, for example, if the request was attempting to delete such an entity.

<a name="core.entity-property-conflict"><h3>core.entity-property-conflict</h3></a>
An attempt was made to set a property of an entity, but doing so would result in an invalid configuration.  For example, an entity class might require unique values for some properties.  If an entity with the given value already exists, then the system cannot accept the request.

<a name="core.invalid-parameter-violation"><h3>core.invalid-parameter-violation</h3></a>
A field was passed in a request that did not meet formatting constraints.  Please check the field and retry the request.

<a name="core.access-denied"><h3>core.access-denied</h3></a>
The request attempted to access a resource on which the principal does not have authority.

<a name="core.illegal-operation"><h3>core.illegal-operation</h3></a>
The requested operation is illegal

<a name="core.json-parse-error"><h3>core.json-parse-error</h3></a>
The received payload could not be parsed

<a name="core.json-mapping-error"><h3>core.json-mapping-error</h3></a>
The received payload was structurally valid, but could not be processed or mapped onto internal data types.  Check the content of the message for field type mismatches.

<a name="core.path-param-entity-field-mismatch"><h3>core.path-param-entity-field-mismatch</h3></a>
A parameter of the URI represents a field that is also specified in the request entity body.  When specified in the body, the values of the URI parameter and entity field must match for the request to be consistent.

<a name="core.invalid-path-param"><h3>core.invalid-path-param</h3></a>
A path parameter specified in the request URI did not meet expectations.

<a name="core.assert-condition-violation"><h3>core.assert-condition-violation</h3></a>
The provided value doesn't meet a predetermined condition (true/false).

<a name="core.readonly-property-violation"><h3>core.readonly-property-violation</h3></a>
An attempt was made to modify a property that is read-only.  Entity updates that specify the property must have a value matching the current value.

<a name="core.invalid-search-field-error"><h3>core.invalid-search-field-error</h3></a>
A search filter was presented that contained an unknown or unsearchable field in the query expression.

<a name="core.invalid-search-value-error"><h3>core.invalid-search-value-error</h3></a>
A search filter was presented that contained an invalid value for a field

<a name="core.invalid-search-expression-error"><h3>core.invalid-search-expression-error</h3></a>
A search filter was presented that was not syntactically correct.

<a name="core.illegal-reference"><h3>core.illegal-reference</h3></a>
An attempt was made to refer to one entity from another, but this operation was not deemed legal

<a name="core.entity-already-referenced"><h3>core.entity-already-referenced</h3></a>
An attempt was made to refer to an entity that is already referred to, where only a single reference is allowed

<a name="core.entity-optimistic-concurrency-failure"><h3>core.entity-optimistic-concurrency-failure</h3></a>
An attempt was made to optimistically update an entity, but the update was not made successfully.

<a name="core.method-not-allowed-error"><h3>core.method-not-allowed-error</h3></a>
The requested resource does not support the presented HTTP method

<a name="core.resource-not-found-error"><h3>core.resource-not-found-error</h3></a>
A resource was requested that does not exist.  Please check documentation for supported resource paths.

<a name="core.unsupported-media-type-error"><h3>core.unsupported-media-type-error</h3></a>
The request did not successfully complete content-type negotiation, as an unsupported content-type was presented.

<a name="core.general-client-error"><h3>core.general-client-error</h3></a>
A non-specific client side error occurred

<a name="core.service-unavailable-error"><h3>core.service-unavailable-error</h3></a>
Service is temporarily unavailable

<a name="content-delivery.client-auth-without-certs-violation"><h3>content-delivery.client-auth-without-certs-violation</h3></a>
Client auth was enabled in the request, but the certificate/key was not provided.

<a name="content-delivery.tls-certificate-chain-violation"><h3>content-delivery.tls-certificate-chain-violation</h3></a>
A valid PEM formatted X.509 certificate chain with matching key is required.  The system was unable to parse and determine validity of the provided values.

<a name="content-delivery.tls-certificate-violation"><h3>content-delivery.tls-certificate-violation</h3></a>
A valid PEM formatted X.509 certificate is required.  The system was unable to parse and determine validity of the provided values.

<a name="content-delivery.tls-protocol-incompatible-ciphers-violation"><h3>content-delivery.tls-protocol-incompatible-ciphers-violation</h3></a>
A TLS protocol was specified to be used with incompatible ciphers.

<a name="content-delivery.ca-properties-violation"><h3>content-delivery.ca-properties-violation</h3></a>
Certificate Authority related properties are not consistent.

<a name="content-delivery.tls-buffer-size-violation"><h3>content-delivery.tls-buffer-size-violation</h3></a>
Invalid TLS Buffer Size.  Supported sizes include 4, 16, and 32.

<a name="content-delivery.origin-edge-params-violation"><h3>content-delivery.origin-edge-params-violation</h3></a>
The edge parameters set on an origin are not consistent.  For example, when setting the edge type to AEX, the edge hostname must be set to valid Akamai edge hostname.

<a name="content-delivery.origin-fast-reroute-params-violation"><h3>content-delivery.origin-fast-reroute-params-violation</h3></a>
The fast reroute parameters set on an origin are not consistent.

<a name="content-delivery.invalid-healthcheck-url-violation"><h3>content-delivery.invalid-healthcheck-url-violation</h3></a>
An invalid healthcheck URL was proposed.

<a name="content-delivery.invalid-shared-secret-map"><h3>content-delivery.invalid-shared-secret-map</h3></a>
Shared secret map must be valid.  Keys must be non-null and non-empty.

<a name="content-delivery.http-response-code-violation"><h3>content-delivery.http-response-code-violation</h3></a>
An invalid HTTP response code was provided.  A valid HTTP response code can be a single value (such as 200), or in some cases, a range is allowed (such as 200-202).  When using a range, the starting value must be before then ending value.

<a name="content-delivery.rules.dscp-value-violation"><h3>content-delivery.rules.dscp-value-violation</h3></a>
Must provide valid DSCP value

<a name="content-delivery.rules.duplicate-behavior-violation"><h3>content-delivery.rules.duplicate-behavior-violation</h3></a>
A request was presented that contained duplicate element types for either defaultBehaviors or childBehaviors.

<a name="content-delivery.rules.fastcgi-invalid-param-map"><h3>content-delivery.rules.fastcgi-invalid-param-map</h3></a>
FastCGI param map must be valid.  Keys must be non-null and non-empty.

<a name="content-delivery.rules.uri-signature-protect-subfiles-filter-type-setting-violation"><h3>content-delivery.rules.uri-signature-protect-subfiles-filter-type-setting-violation</h3></a>
UriSignature protectSubFiles cannot be enabled when the UriFilterType on the rule is neither REGULAR_EXPRESSION_MATCH nor CASE_INSENSITIVE_REGULAR_EXPRESSION_MATCH

<a name="content-delivery.rules.uri-signature-protect-subfiles-protected-path-setting-violation"><h3>content-delivery.rules.uri-signature-protect-subfiles-protected-path-setting-violation</h3></a>
UriSignature protectSubFiles cannot be enabled unless protectedPathPattern is specified

</body>
</html>

  1. Make a GET request to /api/content-delivery/errors.

Data

This section describes the Content Delivery API’s data objects that the API exposes.

Download the JSON schemas for this API.

The data schema tables below list membership requirements as follows:

Member is required to be present, regardless of whether its value is empty or null.
Member is optional, and may be omitted in some cases.

CdnPrefix

A CDN Prefix corresponds to the fully qualified domain name (FQDN) at the beginning of a URI, effectively carving out a region of the URI name space to which a set of rules and policies are applied.

Download schema: cdn-prefix.full.schema.json

Sample GET:

{
    "cdnPrefixId": 4,
    "prefix": "somewhere.com",
    "enable": true,
    "prefixPrioritization": "HIGH",
    "contentProviderId": 3
}

CdnPrefix members

Member Type Required Description
accessMapId Integer ID of the Access Map that is associated with this CDN Prefix.
cdnPrefixId Integer Read-only. A unique identifier for the CDN prefix.
contentProviderId Integer Read-only. ID of the Content Provider that owns this CDN Prefix.
dnsTtl Integer DNS response time-to-live (TTL) value (in seconds) for this CDN Prefix. Please note that setting this field is only recommended for CDN Operators.
enable Boolean Enable the CDN to use this CDN Prefix. The default is true (the prefix is enabled). Set false to disable it.
ipAddressTagId Integer ID of the IP Address Tag that is associated with this CDN Prefix.
prefix String The CDN prefix registered on behalf of the Content Provider. For example, ‘cdn.example.com’
prefixPrioritization Enumeration Prefix Prioritization helps manage peak period resources by prioritizing requests for content from specific Content Providers. Priorities are LOW, MEDIUM, or HIGH.
siteMapId Integer ID of the Site Map that is associated with this CDN Prefix. Please note that setting this field is only recommended for CDN Operators.

Origin

Origin update.

Download schema: origin.full.schema.json

Sample GET response:

{
    "originId": 3,
    "contentProviderId": 3,
    "hostname": "somewhere.com",
    "description": "Some place far away",
    "enable": true,
    "cachingType": "CONSERVATIVE",
    "interSiteProtocol": "HTTP",
    "intraSiteProtocol": "HTTP",
    "enableAuthenticatedContent": false,
    "enableSiteRedirects": false
}

Origin members

Member Type Required Description
cacheableErrorResponseCodes Array A list of HTTP status codes that the HPC will cache. Each item is either a single code or a range of codes. The following status codes are not allowed, either in single code, or as part of a range: 200, 203, 206, 300, 301, 410, 416
cacheKeyOriginHostnameOriginId Integer Use this field only if you are configuring multiple origin servers that have identical content. This field maps multiple incoming URLs (each requesting the same content from different origins identified by the hostname field above) to a single origin server identified by this cacheKeyOriginHostnameOriginId field. Doing so enables HyperCaches to conserve cache space and reduces ingest bandwidth.
cachingType Enumeration Determines whether to validate requests for cached content with the origin server. Either OPTIMISTIC (default) or CONSERVATIVE. In optimistic caching, the HyperCache serves cached content without validating the content with the origin server, unless the content is expired. In conservative caching, every cache request is validated with the origin server by sending an HTTP HEAD request. If the content is stale, the HyperCache node gets the new content from the origin server. The old content will age out of the cache.
contentProviderId Integer Read-only. ID of the Content Provider object.
dynamicHierarchy Origin.dynamicHierarchy Configure a HyperCache node that is the endpoint of an Origin Path (a root HyperCache) to monitor the health of the origin server by sending a GET request for a specific URL.
edgeHostname String Hostname of the AEX origin server.
edgeHostType Enumeration Indicates whether the origin server is an Aura Edge eXchange (AEX) server. Can be either AEX or HTTP (default).
enable Boolean True (default) to enable the CDN to deliver content from this origin server.
enableAuthenticatedContent Boolean Causes the HyperCache to send a HEAD request to the origin server for each client request. If the response is a status code of 2XX, the content is served to the client. Otherwise, the origin’s status code is returned. Typical use case is when the origin server authenticates the client request using a cookie, token, or other means. Default is false.
enableSiteRedirects Boolean Determines whether or not HyperCache will redirect a client to a better site based on the rules in the site map. Enabling this to true allows the HyperCache to adhere to the LCDN Site Map configured using the Request Router service. If set to false, cache miss client requests to a CDN Prefix that uses this origin server as a default result in a HyperCache request for the content directly to the Origin Server.
errorCacheMaxAge Integer The maximum amount of time the HTTP status codes will be cached by the HPC.
fastReroute Origin.fastReroute Enables a HyperCache node to detect failed or slow connections to a specific origin IP address, or between Sites, and to send a second request to an alternate origin IP (or Site) if the first request is delayed. If a successful response is received from either origin IP (or Site), the first response is used to fulfill a client’s request. The second response, if received, is ignored. If no connection to either destination is established, or if no response is received within the configured Origin Timeout value, the requests to the origin (or Site) are retried four times before a 504 is returned to the client. This method helps ensure rapid recovery in case a temporary network problem results in loss of the initial request or response.
hostname String Hostname of the origin server.
interSiteProtocol Enumeration The protocol used to transport this origin’s content between Sites in the LCDN. Either HTTP or HTTPS.
intraSiteProtocol Enumeration The protocol used to transport this origin’s content between nodes within a Site in the LCDN. Either HTTP or HTTPS.
originId Integer Read-only. ID of the Origin object.
originTimeout Integer Origin idle connection timeout in seconds, specifies the length of time the HPC waits for a response to a request from an origin. If no response is received from an origin server within the configured timeout value, four additional attempts are made to the same origin server. If no response is received for the final request within the configured timeout, then that connection is terminated, and a 504 response is sent to the requesting client.
resolvableHostnames Array A list of virtual hosts (origin servers with resolvable hostnames).
storagePartitionId Integer ID of the Storage Partition object.
tlsIngestProfileId Integer ID of the TLS Ingest Profile object.
Origin.dynamicHierarchy: Configure a HyperCache node that is the endpoint of an Origin Path (a root HyperCache) to monitor the health of the origin server by sending a GET request for a specific URL.
healthCheckInterval Integer A numeric value that represents the number of seconds between successive Health Check requests (HTTP GETs). The maximum acceptable value is 1. The default value is 2.
healthCheckUrl String URL used by Health Check request to determine the health of the origin server. The HyperCache periodically sends an HTTP GET request for this URL to check the health of the origin server. Any response received is interpreted as a healthy origin, including error responses.
healthCheckValidResponseCodes String Matches a single or range of response codes
Origin.fastReroute: Enables a HyperCache node to detect failed or slow connections to a specific origin IP address, or between Sites, and to send a second request to an alternate origin IP (or Site) if the first request is delayed. If a successful response is received from either origin IP (or Site), the first response is used to fulfill a client’s request. The second response, if received, is ignored. If no connection to either destination is established, or if no response is received within the configured Origin Timeout value, the requests to the origin (or Site) are retried four times before a 504 is returned to the client. This method helps ensure rapid recovery in case a temporary network problem results in loss of the initial request or response.
enable Boolean Switch on/off Fast Reroute functionality.
intraCdnTimeout Number Used by the HyperCache when it makes a request to an origin through a parent Site or a peer node within the same Site. It specifies the number of seconds you want the HyperCache in one Site to wait before sending the second request to an alternate Site. The number of seconds configured can be expressed to the nearest thousandth of a second, for example: 4, 3.0, 1.05, 2.005. Note that the configured value for this field must be at least 0.5 seconds greater than the originTimeout.
originTimeout Number Value used by the HyperCache when it makes a request directly to the origin server. It specifies the number of seconds you want the HyperCache to wait before sending the second request to an alternate origin IP address. The number of seconds configured can be expressed to the nearest thousandth of a second, for example: 4, 3.0, 1.05, 2.005. Note that the configured value for this field must be at least 0.5 seconds less than the intraCdnTimeout.

TlsDeliveryProfile

TLS Delivery Profile object schema definition.

Download schema: tls-delivery-profile.full.schema.json

Sample GET response:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsDeliveryProfileId": 1,
    "tlsCertificate": "-----BEGIN CERTIFICATE-----\nMIIGTjCCBDagAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVT\nMQswCQYDVQQIDAJNQTESMBAGA1UEBwwJQ2FtYnJpZGdlMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRcwFQYDVQQDDA5sY2RuLmRvY2tlci5jYTEgMB4GCSqGSIb3DQEJ\nARYRbm9ib2R5QGFrYW1haS5jb20wHhcNMTcwNjE1MTQyMjAzWhcNNDQxMDMwMTQy\nMjAzWjCBmTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk1BMSIwIAYDVQQKDBlBa2Ft\nYWkgVGVjaG5vbG9naWVzLCBJbmMuMSIwIAYDVQQLDBlDYXJyaWVyIFByb2R1Y3Rz\nIERpdmlzaW9uMRQwEgYDVQQDDAtKVW5pdCBUZXN0czEfMB0GCSqGSIb3DQEJARYQ\nanVuaXRAYWthbWFpLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nALXVfrXTzUhFY9RVNPP7ghE/qngf5xhzvlHQav9x6vUkHSbcvBr8tpuV3fjdMua7\ntNgH8AL/B3h8boD4kZZWDGlz7HmA2AH1Lvq3FBY6jY3VusbfK+X3VOZ7cmecYv9l\n9Rpk20vZrWXI8WnPlYrhmC639GhQ4ZPJy69XQD28dvXGw7usCbs3BZdqi4A2CiNG\nmFiTZyFBh1V4WSkWsaah2MA3XDlx/cxl1wC8bIMm8pQE1cWGzF2R6MOJqy4CMWxi\nVkBomGEOq/7rkuiXBlDQZ/E5M3vEM44BjH0sUrF9xydWvtW856blrosoevD3sOt1\novDgZzXFCABnACzVe/iMYS8CAwEAAaOCAYQwggGAMAkGA1UdEwQCMAAwEQYJYIZI\nAYb4QgEBBAQDAgZAMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRlZCBT\nZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFIub/DhaKcLxfbxpTcw8YdiT5O9H\nMIHmBgNVHSMEgd4wgduAFATfWUDHxy1CWxSHYJLxJqDiHhI2oYG3pIG0MIGxMQsw\nCQYDVQQGEwJVUzELMAkGA1UECAwCTUExEjAQBgNVBAcMCUNhbWJyaWRnZTEiMCAG\nA1UECgwZQWthbWFpIFRlY2hub2xvZ2llcywgSW5jLjEiMCAGA1UECwwZQ2Fycmll\nciBQcm9kdWN0cyBEaXZpc2lvbjEXMBUGA1UEAwwObGNkbi5kb2NrZXIuY2ExIDAe\nBgkqhkiG9w0BCQEWEW5vYm9keUBha2FtYWkuY29tggkAz0/BS2yHqvAwDgYDVR0P\nAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBCwUAA4IC\nAQDAqO8TYIYmPmtlkctmdYpAjyHrezyOvQqISI1puzUZiv45r1RLJdnx61hCeZXr\naIYgtsPco7yzZP1kmpb1VifJuVzX84MqoJlmIJsSlR7n3cu64qUe0eSs3ZnkFw1d\nWWz0UzWeMYU9f4hf9QPiFV15VjwpWOpwOeuBOoX1eIEQbd8dpIh05TgU6UV6cyTR\nLPImlFhqEKb5uQPUMf4jjnbgiMI+DRWiCElYJ1l3wS1xbVaqaQQaCmsPfvKQ9oIe\nO/HeEpdFtT6pgMaPB7cnxHnMArVGaWLeApnuIvSvbziLU2pA2IUIvktINoSbXMiN\nP/5IDt3CBLs7bMpeUTclo7W58H5m1UEGmfTjl4HmSEIuyXBREx49S8dvgrijvLsS\nGBAeV2JYovAgn0Jz2vD7zWD8QoacOsiu7UUnnBWhY+Lb2xB4w2tfCAfkzhfOt4Cr\nu6iSHiyQH0MwZXFSkfGtEMG40MW/UTWbBbYqCML3YDR3Ncbj8toiyWKTkkDBL6LJ\nlNfRWm955Q85bcrBseAY94wyCsnv9JhLvIq/RrLZqjv/8GOol/P0kzL1TIFBbP6G\nI576UQ9nrWO+oFcC9CYq9OnMKDYuwQ6a1/d1i8dhj3HwPakrS8hLGe5PgNM983f8\n3VfxMEPxHp0J3lYQDslGHURspHGRVRRvaUZeLvk8lmnf1g==\n-----END CERTIFICATE-----\n",
    "tlsCertificateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAtdV+tdPNSEVj1FU08/uCET+qeB/nGHO+UdBq/3Hq9SQdJty8\nGvy2m5Xd+N0y5ru02AfwAv8HeHxugPiRllYMaXPseYDYAfUu+rcUFjqNjdW6xt8r\n5fdU5ntyZ5xi/2X1GmTbS9mtZcjxac+ViuGYLrf0aFDhk8nLr1dAPbx29cbDu6wJ\nuzcFl2qLgDYKI0aYWJNnIUGHVXhZKRaxpqHYwDdcOXH9zGXXALxsgybylATVxYbM\nXZHow4mrLgIxbGJWQGiYYQ6r/uuS6JcGUNBn8Tkze8QzjgGMfSxSsX3HJ1a+1bzn\npuWuiyh68Pew63Wi8OBnNcUIAGcALNV7+IxhLwIDAQABAoIBAF/tJ5GpES1FXisQ\nYIUudCnBWp9QxUvDE+55c1kbsgZtbOupm5rpIzTlVVsK5uWOtRMa7OXHwRsxGeL0\nP2n+L0Iao/Bdppcxz/z4RKKNdUwUKxrrdW82khWdnndGq3ttQGcSOhbD2ZRO8/0M\nRComZXCQH2JA+SBMXyY7c2qeWGvD8oeCFVW+NLTBe3SZBvEzYz4ZvFOG/jTX9P79\noCvgPIoCneu9W3c1ZbizOzQsV7OW6qBmuqwoJHRZ+8mYXCrPEx7SUyzp4/TYcF+d\nn+MDfNxVvLxkh4dpKsa/icsw1JJTxDq9TBw44lHtnfNpi1OWBh027p6KnjWPU0Aa\n+y/SdLECgYEA37XRzMG31+Na0LqSzQm/szA62bG/EYzD7fuybmu6r0Hr2hy4yPlB\nAwbycqAevCKF3r7/z2eJJegC0/l+7YQI5Zt098lCbFBd7WBHS2zf/nH7+KL6rdfG\nHlcKMR6g3h7n3A7Z5UnqO1Xw0gvi/UchLrYh6T9N8WazJAp1F9ForZUCgYEA0BRU\nuv+4SvVd7vFhGxyemcygrt1Sb+QshPPTPv+a/00bN5s9ksweOzFFQp4KieBwZDdI\nXlZYQBeO9HDbitkWTCBm7cRwQ8dH9kyhxknX3Cm6iL1//0NXF30HdNpiiDCEosjF\nXtkLCim2IL/xsC7fBbeHvr2Lth6hRNJv08aaerMCgYEAuMogpikyajNUVex3zMSL\nxEFHq4EGmkGTqqZpaoq0Z4ZlgwKMpP43dH+tj3+yQ6ekuy08c59Li7NNermx3hJd\nowQ5p2Bo7L2qCKWp3qTtlemjwGsn9Key8GbndVGegjw3O/BMjvjycdb4mRjWhG7X\n+xTZiCkRgiFaQqAcvvLsq80CgYEAmSiN4YL+tPX8aTd0wY8EUrKjB3NTDZcHCemq\n8TEVdpvbz8dNwDLMgcdXcpx/p1Lzh2CFvSKTHMH6cIRtpLr7xZcIDDVOaSVTG8D2\nRsztvVlduu65Ozvm7BwUk/d3FUWZK3TaimD51kYzj9GY5ZTqhfu8SDKelrPfAphe\nxaPm6y8CgYEApoObwhaX4d2NChFSAvaVNmyt5huXdIQ6JBzW/zFlgxA6f24H4Wxg\nw65RHeXr3m84HuHt+hl5pZS0dxDKQrCjxwY88xJP8MY1+eaMzZvDTCjInWUzHBD0\nvXEjh6gigJXD30VXF5GxO0gmkm5OcgmhOKGOq0gTRrSVmRrwNHCnE+E=\n-----END RSA PRIVATE KEY-----",
    "tlsCertificateDetails": {
        "fingerprints": {
            "sha1Fingerprint": "DD:44:7A:D5:B3:DE:D3:C5:3B:CD:DC:72:21:D2:E7:42:C7:C4:0E:75",
            "sha256Fingerprint": "78:12:89:CC:AF:A4:25:12:4E:E9:B5:DF:D5:F3:95:67:18:46:5A:9E:1E:60:AF:AF:AE:5E:3A:7C:F4:E6:92:82"
        },
        "validity": {
            "notBefore": "2017-06-15T14:22:03.000+0000",
            "notAfter": "2044-10-30T14:22:03.000+0000"
        },
        "issuedTo": {
            "commonName": "JUnit Tests",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division",
            "serial": "10:00"
        },
        "issuedBy": {
            "commonName": "lcdn.docker.ca",
            "organization": "Akamai Technologies\\, Inc.",
            "organizationalUnit": "Carrier Products Division"
        }
    }
}

TlsDeliveryProfile members

Member Type Required Description
caCertificate String An OpenSSL PEM-formatted Certificate Authority (CA) certificate used to verify client certificates.
caCertificateDetails Certificate Read-only. A read-only view of Certificate Authority (CA) certificate details.
ciphers String An OpenSSL style ciphers string. See https://www.openssl.org/docs/apps/ciphers.html#CIPHER-STRINGS.
contentProviderId Integer Read-only. The Id of the Content Provider which owns the TLS Delivery profile.
crl String Certificate Revocation List. An OpenSSL PEM-formatted list of revoked client certificates.
crlDetails Certificate Read-only. A read-only view of the CRL (Certificate Revocation List) details.
description String A description of the TLS Delivery profile.
ecdhCurve Enumeration Elliptic Curve Diffie-Hellman (ECDH) protocol. Specifies a curve for ECDHE cipers.
enableClientAuth Boolean Allows you to enable or disable client authorization. When client authorization is enabled, the HyperCache authenticates client certificates using the CA certificate for each TLS connection.
name String The name of the TLS Delivery profile.
tlsBufferSize Integer Enumeration Sets the size of the TLS buffer used for sending data (KB).
tlsCertificate String An OpenSSL PEM-formatted TLS certificate used by an HyperCache node as a server certificate.
tlsCertificateDetails Certificate Read-only. A read-only view of TLS certificate details.
tlsCertificateKey String An OpenSSL PEM-formatted private key associated with the TLS certificate.
tlsDeliveryProfileId Integer Read-only. Primary Id for the TLS Delivery profile object. Must be set on updates, must not be set for creates.
tlsVerificationDepth Integer Sets the verification depth in the client certificates chain.

TlsIngestProfile

TLS Ingest Profile object schema definition.

Download schema: tls-ingest-profile.full.schema.json

Sample GET response:

{
    "description": "",
    "name": "test",
    "contentProviderId": 3,
    "enableClientAuth": false,
    "tlsIngestProfileId": 1,
    "tlsProtocols": [
        "TLSV1",
        "TLSV1_2",
        "TLSV1_1"
    ],
    "ciphers": "HIGH:!aNULL:!MD5"
}

TlsIngestProfile members

Member Type Required Description
caCertificate String An OpenSSL PEM-formatted Certificate Authority (CA) certificate used to verify origin server certificates.
caCertificateDetails Certificate Read-only. A read-only view of Certificate Authority (CA) certificate details.
ciphers String An OpenSSL style ciphers string. See https://www.openssl.org/docs/apps/ciphers.html#CIPHER-STRINGS.
clientTlsCertificate String An OpenSSL PEM-formatted TLS Ingest certificate used by a HyperCache node as a client certificate.
clientTlsCertificateDetails Certificate Read-only. A read-only view of the TLS Ingest client certificate details.
clientTlsCertificateKey String An OpenSSL PEM-formatted private key associated with the TLS Ingest client certificate.
contentProviderId Integer Read-only. The Id of the Content Provider which owns the TLS Ingest profile.
crl String Certificate Revocation List. An OpenSSL PEM-formatted list of revoked server certificates.
crlDetails Certificate Read-only. A read-only view of the CRL (Certificate Revocation List) details.
description String A description of the TLS Ingest profile.
enableClientAuth Boolean Allows you to enable or disable client authorization. When client authorization is enabled, the HyperCache transmits the TLS Ingest client certificate to the origin server for authentication (required if the origin server authenticates clients).
name String The name of the TLS Ingest profile.
tlsIngestProfileId Integer Read-only. Primary Id for the TLS Ingest object. Must be set on updates, must not be set for creates.
tlsProtocols Enumeration TLS protocols supported, either TLSV1, TLSV1_1 or TLSV1_2. Defaults to TLSV1, TLSV1_1, TLSV1_2. The use of SSLV2 or SSLV3 are discouraged for security reasons.

Certificate

Summary information of a digital X.509 Certificate.

Download schema: common-definitions.json

Certificate members

Member Type Required Description
fingerprints Certificate.fingerprints An abbreviated form of the Public Key of the certificate
issuedBy Certificate.issuedBy A distinguished name (DN) that identifies the certificate authorizer.
issuedTo Certificate.issuedTo A distinguished name (DN) that identifies the certificate owner.
validity Certificate.validity The validity time period of the certificate.
Certificate.fingerprints: An abbreviated form of the Public Key of the certificate
sha1Fingerprint String The fingerprint of the certificate using the SHA1 algorithm.
sha256Fingerprint String The fingerprint of the certificate using the SHA256 algorithm.
Certificate.issuedBy: A distinguished name (DN) that identifies the certificate authorizer.
commonName String The entity (user/web server/domain/hostname) associated with the certificate authorizer.
organization String The organization of the certificate authorizer.
organizationalUnit String The organizational unit of the certificate issuer.
Certificate.issuedTo: A distinguished name (DN) that identifies the certificate owner.
commonName String A common name (CN) that identifies the host and domain name associated with the certificate.
organization String The organization of the certificate owner.
organizationalUnit String The organizational unit of the certificate owner.
serial String A serial number that uniquely identifies the certificate.
Certificate.validity: The validity time period of the certificate.
notAfter String The time and date on which the certificate is no longer valid.
notBefore String The time and date on which the certificate is valid.

SharedSecretSet

Shared Secret Set object schema definition. Shared secrets are used for URI Signing, which is used as an authorization method for content delivery.

Download schema: shared-secret-set.full.schema.json

Sample GET response:

{
    "sharedSecretSetId": 3,
    "name": "secret-set1"
}

SharedSecretSet members

Member Type Required Description
contentProviderId Integer Read-only. The Id of the Content Provider which owns the Shared Secret Set.
name String Read-only. The name of the Shared Secret Set. The name can be alphanumeric and can include dashes (-), underscores(_), periods(.) and backslashes. The name must start with a letter. Once set, the name of the Shared Secret Set cannot be updated.
sharedSecretSetId Integer Read-only. Primary Id for the Shared Secret Set object. Must be set on updates, must not be set for creates.

Secrets

Shared Secret Set Secrets object definition.

Download schema: shared-secret-set-secrets.schema.json

Sample GET response:

{
    "secrets": {
        "secret1": "sshh!",
        "secret2": "psst!"
    }
}

Secrets members

Member Type Required Description
secrets Object One or more unique key/index string pair(s) to be added as members of the secret set.

Rule

A rule object which is used to respond to different kinds of requests. A rule consists of criteria that identify which requests to process, and the behaviors to apply to those requests.

Download schema: rules.schema.json

Sample GET response:

{
    "defaultBehaviors": [
        {
            "name": "originServer",
            "options": {
                "originId": 1
            }
        }
    ],
    "children": [
        {
            "name": "first filter",
            "criterion": {
                "name": "uriFilter",
                "options": {
                    "uriFilterType": "PREFIX_MATCH",
                    "uriFilterValue": "/objects"
                }
            },
            "behaviors": [
                {
                    "name": "ramOnlyCaching",
                    "options": {
                        "enable": true
                    }
                },
                {
                    "name": "fastcgiAuth",
                    "options": {
                        "enable": true,
                        "server": "auth.server:88",
                        "params": {
                            "foo": "bar"
                        },
                        "backupServers": [
                            "auth2.server:88"
                        ]
                    }
                },
                {
                    "name": "httpsDelivery",
                    "options": {
                        "value": "DISABLE"
                    }
                },
                {
                    "name": "excludedQueryArguments",
                    "options": {
                        "value": [
                            "arg1",
                            "arg2"
                        ]
                    }
                },
                {
                    "name": "externalOriginAuth",
                    "options": {
                        "service": "AMAZON_AWS_S3",
                        "accessKey": "...",
                        "secretKey": "...",
                        "signedHeaders": [
                            "H1"
                        ],
                        "region": "us-east-1"
                    }
                },
                {
                    "name": "lastMileAcceleration",
                    "options": {
                        "contentTypes": [
                            "application/type1",
                            "application/type2"
                        ],
                        "compressionLevel": 6,
                        "enable": true,
                        "uaRestrict": "^client100$"
                    }
                },
                {
                    "name": "limitRate",
                    "options": {
                        "bandwidth": 1000,
                        "unit": "MB_PER_SECOND"
                    }
                },
                {
                    "name": "uriSignature",
                    "options": {
                        "protectedPathPattern": "$some/protected/path",
                        "tokenEncoding": "BASE64",
                        "tokenParameter": "$signatureToken",
                        "sharedSecretSetId": 1,
                        "sharedSecretIndexParameter": "$myParam",
                        "algorithm": "MD5",
                        "inputParameterCapitalization": "NO_CHANGE",
                        "inputParameterPattern": "arg1",
                        "uriExpirationParameter": "$expires"
                    }
                },
                {
                    "name": "cors",
                    "options": {
                        "accessControlAllowHeaders": [
                            "X-Header1",
                            "X-Header2"
                        ],
                        "accessControlAllowOrigin": {
                            "allowAllOrigins": true
                        },
                        "accessControlAllowMethods": [
                            "GET",
                            "HEAD"
                        ],
                        "accessControlMaxAge": 3600,
                        "enablePreflight": true
                    }
                }
            ]
        }
    ]
}

Rule members

Member Type Required Description
children Rule Array A list of child rules. Each child rule object consists of its name, the criterion to match URIs, and a list of behaviors that act upon that criterion.
defaultBehaviors Behavior Array A set of features (behaviors) for the top-level (default) rule. These default behaviors are applied to all requests.

Behavior

You can place behaviors throughout your Rule tree. The top-level rule’s defaultBehaviors support any of the following behaviors:

Within child rules (children), a criterion member specifies a criterion test, based on which subsequent behaviors execute. These can include any of the default set above, to conditionally override default settings, or any of the following additional behaviors:

cacheControlOverride

Ignore Cache-Control, i.e. override Cache-Control at the HyperCache with provided value when caching contents. This override value does not modify any received Cache-Control headers or insert any missing Cache-Control headers. Origin headers remain intact when sent to the client.

Download schema: rules.schema.json

cacheControlOverride members

Member Type Required Description
name Enumeration The name of the behavior, cacheControlOverride in this case.
options cacheControlOverride.options This behavior’s set of configuration options.
cacheControlOverride.options: This behavior’s set of configuration options.
value String The value of the Cache-Control field to be used on HTTP responses coming from the origin server.

cacheKeyUri

URI Pattern used by HyperCache for generating Cache Key.

Download schema: rules.schema.json

cacheKeyUri members

Member Type Required Description
name Enumeration The name of the behavior, cacheKeyUri in this case.
options cacheKeyUri.options This behavior’s set of configuration options.
cacheKeyUri.options: This behavior’s set of configuration options.
value String The cache key URI pattern without query parameters. By default, all incoming query parameters are added to the cache key URI. By default, this value is also used for the Purge Key URI.

chunkSize

Chunk size for the asset, used for tuning the HyperCache internal chunk size.

Download schema: rules.schema.json

chunkSize members

Member Type Required Description
name Enumeration The name of the behavior, chunkSize in this case.
options chunkSize.options This behavior’s set of configuration options.
chunkSize.options: This behavior’s set of configuration options.
value Integer Size of the chunk (in bytes) for this content.

cors

Configuration of Cross-Origin Resource Sharing (CORS) Response Headers at the HyperCache for this rule.

Download schema: rules.schema.json

cors members

Member Type Required Description
name Enumeration The name of the behavior, cors in this case.
options cors.options This behavior’s set of configuration options.
cors.options: This behavior’s set of configuration options.
accessControlAllowCredentials Boolean Access-Control-Allow-Credentials header value.
accessControlAllowHeaders Array Access-Control-Allow-Headers header value.
accessControlAllowMethods Array Access-Control-Allow-Methods method list. Enter a list of allowed methods or leave empty to use value of Access-Control-Request-Method header.
accessControlAllowOrigin Object Access-Control-Allow-Origin header source. Enter one of allowRequestHttpOrigin (allow access from any origin listed in the request Origin header), allowAllOrigins (true implies ‘*’), or allowOrigins (list of allowed origins) as an option.
accessControlExposeHeaders Array Access-Control-Expose-Headers header value.
accessControlMaxAge Integer Access-Control-Max-Age header value. Enter number of seconds for which client may cache preflight response or leave empty to use default of one day.
enablePreflight Boolean Enable/disable preflight requests.

defaultHttpDelivery

Default setting for HTTP Delivery.

Download schema: rules.schema.json

defaultHttpDelivery members

Member Type Required Description
name Enumeration The name of the behavior, httpDelivery in this case.
options defaultHttpDelivery.options This behavior’s set of configuration options.
defaultHttpDelivery.options: This behavior’s set of configuration options.
enable Boolean Enable/disable default HTTP Delivery for this prefix.

defaultHttp2Delivery

Default setting for HTTP2 Delivery.

Download schema: rules.schema.json

defaultHttp2Delivery members

Member Type Required Description
name Enumeration The name of the behavior, http2Delivery in this case.
options defaultHttp2Delivery.options This behavior’s set of configuration options.
defaultHttp2Delivery.options: This behavior’s set of configuration options.
enable Boolean Enable/disable default HTTP2 Delivery for this prefix.

defaultHttpsDelivery

Default setting for HTTPS Delivery.

Download schema: rules.schema.json

defaultHttpsDelivery members

Member Type Required Description
name Enumeration The name of the behavior, httpsDelivery in this case.
options defaultHttpsDelivery.options This behavior’s set of configuration options.
defaultHttpsDelivery.options: This behavior’s set of configuration options.
enable Boolean Enable/disable default HTTPS Delivery for this prefix.
tlsDeliveryProfileId Integer A unique identifier for the TLS Delivery profile.

dscp

DiffServ byte field in the outgoing IP packets, typically used to prioritize, or generally schedule, traffic in an IP routed network.

Download schema: rules.schema.json

dscp members

Member Type Required Description
name Enumeration The name of the behavior, dscp in this case.
options dscp.options This behavior’s set of configuration options.
dscp.options: This behavior’s set of configuration options.
value Integer DiffServ byte field (including the last two ECN bits). When configuring this field, the ECN bits must be set to 0 (zero), and only the upper 6 bits should be set.

excludedQueryArguments

List of query arguments that should not be part of the cache key URI.

Download schema: rules.schema.json

excludedQueryArguments members

Member Type Required Description
name Enumeration The name of the behavior, excludedQueryArguments in this case.
options excludedQueryArguments.options This behavior’s set of configuration options.
excludedQueryArguments.options: This behavior’s set of configuration options.
value Array Query argument to exclude.

externalOriginAuth

Parameters associated with authentication with external origin server.

Download schema: rules.schema.json

externalOriginAuth members

Member Type Required Description
name Enumeration The name of the behavior, externalOriginAuth in this case.
options externalOriginAuth.options This behavior’s set of configuration options.
externalOriginAuth.options: This behavior’s set of configuration options.
accessKey String External Origin Access Key ID.
region String External Origin Service Region (us-east-1, eu-central-1, etc).
secretKey String External Origin Secret Access Key.
service Enumeration External Origin Service. The only available service is AMAZON_AWS_S3.
signedHeaders Array List of request headers included in authorization signature.

fastcgiAuth

Parameters associated with FastCGI Authentication.

Download schema: rules.schema.json

fastcgiAuth members

Member Type Required Description
name Enumeration The name of the behavior, fastcgiAuth in this case.
options fastcgiAuth.options This behavior’s set of configuration options.
fastcgiAuth.options: This behavior’s set of configuration options.
backupServers Array Servers in hostname:port format, so the maximum length is 262, 256 of which is for the hostname.
enable Boolean FastCGI Authentication Enabled/Disabled.
params Object FastCGI params in map form.
role Enumeration Role set for the FastCGI Server, either AUTHORIZER or RESPONDER.
server String Destination FastCGI Server server:port, maximum length is 262, 256 of which is for the hostname.

followRedirect

Control the behavior of the HyperCache when it receives a 302 Redirect from the Origin.

Download schema: rules.schema.json

followRedirect members

Member Type Required Description
name Enumeration The name of the behavior, followRedirect in this case.
options followRedirect.options This behavior’s set of configuration options.
followRedirect.options: This behavior’s set of configuration options.
enable Boolean Pass on HTTP 302 redirects to the client if set to true.

frontEndCache

Enable or disable caching of specific types of content to Front-End memory. Front-End Cache stores entire objects (not chunks) in HPC nodes.

Download schema: rules.schema.json

frontEndCache members

Member Type Required Description
name Enumeration The name of the behavior, frontEndCache in this case.
options frontEndCache.options This behavior’s set of configuration options.
frontEndCache.options: This behavior’s set of configuration options.
enable Boolean When enabled, all content matching the URI Filter is cached only in Front-End memory.

http2Delivery

Override default setting for HTTP2 delivery.

Download schema: rules.schema.json

http2Delivery members

Member Type Required Description
name Enumeration The name of the behavior, http2Delivery in this case.
options http2Delivery.options This behavior’s set of configuration options.
http2Delivery.options: This behavior’s set of configuration options.
value Enumeration Override default setting for a delivery setting (i.e. HTTP or HTTPS delivery), either DEFAULT or DISABLE. If DEFAULT, the delivery value is inherited from the default behaviors.

httpDelivery

Override default setting for HTTP delivery.

Download schema: rules.schema.json

httpDelivery members

Member Type Required Description
name Enumeration The name of the behavior, httpDelivery in this case.
options httpDelivery.options This behavior’s set of configuration options.
httpDelivery.options: This behavior’s set of configuration options.
value Enumeration Override default setting for a delivery setting (i.e. HTTP or HTTPS delivery), either DEFAULT or DISABLE. If DEFAULT, the delivery value is inherited from the default behaviors.

httpsDelivery

Override default setting for HTTPS delivery.

Download schema: rules.schema.json

httpsDelivery members

Member Type Required Description
name Enumeration The name of the behavior, httpsDelivery in this case.
options httpsDelivery.options This behavior’s set of configuration options.
httpsDelivery.options: This behavior’s set of configuration options.
value Enumeration Override default setting for a delivery setting (i.e. HTTP or HTTPS delivery), either DEFAULT or DISABLE. If DEFAULT, the delivery value is inherited from the default behaviors.

lastMileAcceleration

Compress contents using GZIP before sending them out from edge HyperCaches to supported clients.

Download schema: rules.schema.json

lastMileAcceleration members

Member Type Required Description
name Enumeration The name of the behavior, lastMileAcceleration in this case.
options lastMileAcceleration.options This behavior’s set of configuration options.
lastMileAcceleration.options: This behavior’s set of configuration options.
compressionLevel Integer GZIP compression level. If omitted, a default level of 6 is assumed.
contentTypes Array List of acceptable MIME-Types for which LMA is enabled.
enable Boolean Feature enable/disable.
uaRestrict String Regular expression applicable on User-Agent Header to disable LMA for particular clients.

limitRate

Limit bandwidth per session (bytes/second).

Download schema: rules.schema.json

limitRate members

Member Type Required Description
name Enumeration The name of the behavior, limitRate in this case.
options limitRate.options This behavior’s set of configuration options.
limitRate.options: This behavior’s set of configuration options.
bandwidth Integer The maximum bandwidth limit, as specified by the respective unit.
unit Enumeration Bandwidth unit. Either BYTES_PER_SECOND, KB_PER_SECOND, or MB_PER_SECOND. If omitted, BYTES_PER_SECOND is assumed.

originAffinityUri

Define URI used for origin server affinity. Used when HyperCaches in a site should use the same origin server.

Download schema: rules.schema.json

originAffinityUri members

Member Type Required Description
name Enumeration The name of the behavior, originAffinityUri in this case.
options originAffinityUri.options This behavior’s set of configuration options.
originAffinityUri.options: This behavior’s set of configuration options.
value String A URI prefix pattern used to identify client requests to which the HPC applies origin affinity.

originRangeRequest

To allow Range Requests from HyperCache to the origin server when ingesting content.

Download schema: rules.schema.json

originRangeRequest members

Member Type Required Description
name Enumeration The name of the behavior, originRangeRequest in this case.
options originRangeRequest.options This behavior’s set of configuration options.
originRangeRequest.options: This behavior’s set of configuration options.
enable Boolean Allow or suppress range requests to the origin. A value of true will allow range requests; false wll suppress them.

originServer

Origin Server used for ingesting content.

Download schema: rules.schema.json

originServer members

Member Type Required Description
name Enumeration The name of the behavior, originServer in this case.
options originServer.options This behavior’s set of configuration options.
originServer.options: This behavior’s set of configuration options.
originId Integer A unique identifier for the Origin server.

originServerUri

Define URI used for accessing origin server in case of a cache miss.

Download schema: rules.schema.json

originServerUri members

Member Type Required Description
name Enumeration The name of the behavior, originServerUri in this case.
options originServerUri.options This behavior’s set of configuration options.
originServerUri.options: This behavior’s set of configuration options.
value String Specifies the URI used for accessing the origin server, for example /a/b/foo.ts.

purgeKeyUri

URI pattern used to identify assets to be purged using the Purge API. By default this value is the same as cache key URI.

Download schema: rules.schema.json

purgeKeyUri members

Member Type Required Description
name Enumeration The name of the behavior, purgeKeyUri in this case.
options purgeKeyUri.options This behavior’s set of configuration options.
purgeKeyUri.options: This behavior’s set of configuration options.
value String An alternative object name (URI) to purge the object, in case the default value is not sufficient.

ramOnlyCaching

Enables or disables caching of specific types of content to RAM only memory.

Download schema: rules.schema.json

ramOnlyCaching members

Member Type Required Description
name Enumeration The name of the behavior, ramOnlyCaching in this case.
options ramOnlyCaching.options This behavior’s set of configuration options.
ramOnlyCaching.options: This behavior’s set of configuration options.
enable Boolean When enabled, all content matching the URI Filter is cached only in RAM.

siteRedirectMode

Turn on/off Site Redirect mode for HyperCache to redirect requests to optimal sites if needed.

Download schema: rules.schema.json

siteRedirectMode members

Member Type Required Description
name Enumeration The name of the behavior, siteRedirectMode in this case.
options siteRedirectMode.options This behavior’s set of configuration options.
siteRedirectMode.options: This behavior’s set of configuration options.
enable Boolean Enable/disable site redirects.

siteRedirectType

Site Redirect type for HyperCache to make redirect decisions based on client IP or site information.

Download schema: rules.schema.json

siteRedirectType members

Member Type Required Description
name Enumeration The name of the behavior, siteRedirectType in this case.
options siteRedirectType.options This behavior’s set of configuration options.
siteRedirectType.options: This behavior’s set of configuration options.
value Enumeration Whether to look at client IP (CLIENT_IP) or site information (SITE) when redirecting requests.

storagePartition

Specifies HyperCache partitions to reserve hard disk space for certain content types.

Download schema: rules.schema.json

storagePartition members

Member Type Required Description
name Enumeration The name of the behavior, storagePartition in this case.
options storagePartition.options This behavior’s set of configuration options.
storagePartition.options: This behavior’s set of configuration options.
storagePartitionId Integer A unique identifier for the Storage partition.

uriSignature

URI Signature Pattern provides a mechanism to express URI Signing parameters and mechanisms to be enforced across an entire CDN Prefix, or for a narrower subset of a CDN Prefix identified by a particular URI Pattern.

Download schema: rules.schema.json

uriSignature members

Member Type Required Description
name Enumeration The name of the behavior, uriSignature in this case.
options uriSignature.options This behavior’s set of configuration options.
uriSignature.options: This behavior’s set of configuration options.
algorithm Enumeration Signature Calculation Algorithm, either HMAC_MD5, HMAC_SHA1, MD5, or SHA1.
inputParameterCapitalization Enumeration Specifies the capitalization used for transforming the input parameter before signature calculation. Either LOWERCASE, UPPERCASE, or NO_CHANGE.
inputParameterPattern String Specifies the set of input parameters and their order. The input parameter pattern can use parts of the incoming request, for example: $url_signature_shared_secret,#uri?sid=$arg_sid&e=$arg_e. To represent an ‘expire’ as a query argument, or with a cookie incoming URL, use $uri_sign_expire.
protectedPathPattern String The name of the capture path in the URI filter above used as a cookie path string to define the protected file names or path.
protectedSubFiles Boolean Use cookies derived from master query arguments to protect files matching URI filter with no query arguments (e.g. child .m3u8 and .ts).
sharedSecretIndexParameter String The name of the request parameter which contains the index for the shared secret.
sharedSecretSetId Integer URI Signature shared secret set to be used for validating the URI.
tokenEncoding Enumeration The encoding used for the token parameter, either BASE64, HEX, or URL_SAFE_BASE64.
tokenParameter String The name of the request parameter which contains the signature token.
uriExpirationParameter String The name of the request parameter which contains the expiration time for the URI being examined.

udpSyslogAccessLog

Parameters associated with UDP Syslog Access Log feature.

Download schema: rules.schema.json

udpSyslogAccessLog members

Member Type Required Description
name Enumeration The name of the behavior, udpSyslogAccessLog in this case.
options udpSyslogAccessLog.options This behavior’s set of configuration options.
udpSyslogAccessLog.options: This behavior’s set of configuration options.
defaultLogFormat String The name of the log format to use as the default. The log formats are defined by the operator.
facility Enumeration The syslog facility to use when transmitting logs. Possible values: LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7, KERN, USER, MAIL, DAEMON, AUTH, INTERN, LPR, NEWS, UUCP, CLOCK, AUTHPRIV, FTP, NTP, AUDIT, ALERT, CRON. Default value: LOCAL7.
servers udpSyslogAccessLog.options.servers[] Server object to send logs to.
severity Enumeration The syslog severity to use when transmitting logs. Possible values: DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY. Default value: INFO.
udpSyslogAccessLog.options.servers[]: Server object to send logs to.
logFormat String The name of the log format to use as the default. The log formats are defined by the operator.
server String Server:<port> of syslog server.

criterion

An object that specifies URI filters to match.

Download schema: rules.schema.json

criterion members

Member Type Required Description
name Enumeration The name of the criterion, uriFilter in this case.
options criterion.options This criterion’s set of configuration options.
criterion.options: This criterion’s set of configuration options.
uriFilterType Enumeration Type of the filter to match URIs - either EXACT_MATCH, PREFIX_MATCH, REGULAR_EXPRESSION_MATCH, or CASE_INSENSITIVE_REGULAR_EXPRESSION_MATCH.
uriFilterValue String Value of the filter used to match incoming URIs

Errors

This section provides details on 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 case of errors, the API returns an HTTP Problem Details JSON object with the application/problem+json media type.

HTTP status codes

This section lists the full range of response codes the API may generate.

Code Description
200 The operation was successful.
201 Resource successfully created.
204 Successfully processed request.
400 Bad Request.
401 Authentication failure.
403 Access is forbidden.
404 Resource not found.
405 Method not supported.
409 Conflict with current state of resource.
415 Unsupported media type.
500 Internal server error.

Last modified: 7/16/2018