
- Overview
- Resources
- API summary
- Create a new CDN prefix
- List CDN prefixes
- Update a CDN prefix
- Delete a CDN prefix
- Get a CDN prefix
- Update a rule tree
- Get a rule tree
- Create a new origin
- List origins
- Update an origin
- Delete an origin
- Get an origin
- Create a new TLS delivery profile
- List TLS delivery profiles
- Update a TLS delivery profile
- Delete a TLS delivery profile
- Get a TLS delivery profile
- List CDN prefixes for a TLS delivery profile
- Create a new TLS Ingest Profile
- List TLS ingest profiles
- Update a TLS Ingest profile
- Delete a TLS ingest profile
- Get a TLS ingest profile
- List origins for a TLS delivery profile
- Create a new shared secret set
- List shared secret sets
- Delete a shared secret
- Get a shared secret set
- Update Secrets
- Get Secrets
- List errors
- Data
- CdnPrefix
- Origin
- TlsDeliveryProfile
- TlsIngestProfile
- Certificate
- SharedSecretSet
- Secrets
- Rule
- Behavior
- cacheControlOverride
- cacheKeyUri
- chunkSize
- cors
- defaultHttpDelivery
- defaultHttp2Delivery
- defaultHttpsDelivery
- dscp
- excludedQueryArguments
- externalOriginAuth
- fastcgiAuth
- followRedirect
- frontEndCache
- http2Delivery
- httpDelivery
- httpsDelivery
- lastMileAcceleration
- limitRate
- originAffinityUri
- originRangeRequest
- originServer
- originServerUri
- purgeKeyUri
- ramOnlyCaching
- siteRedirectMode
- siteRedirectType
- storagePartition
- uriSignature
- udpSyslogAccessLog
- criterion
- Errors
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:
Download this API’s RAML and JSON schema descriptors.
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:
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.
In the CDN Health dashboard, click Configure and under Content Delivery select Content Providers.
In the Content Provider Management page, mouse over the name of a Content Provider to view the Content Provider ID.
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/ |
List CDN Prefixes | GET | /api/ |
Update a CDN Prefix | PUT | /api/ |
Delete a CDN Prefix | DELETE | /api/ |
Get a CDN Prefix | GET | /api/ |
Update a Rule Tree | PUT | /api/ |
Get a Rule Tree | GET | /api/ |
Create a New Origin | POST | /api/ |
List Origins | GET | /api/ |
Update an Origin | PUT | /api/ |
Delete an Origin | DELETE | /api/ |
Get an Origin | GET | /api/ |
Create a New TLS Delivery Profile | POST | /api/ |
List TLS Delivery Profiles | GET | /api/ |
Update a TLS Delivery Profile | PUT | /api/ |
Delete a TLS Delivery Profile | DELETE | /api/ |
Get a TLS Delivery Profile | GET | /api/ |
List CDN prefixes for a TLS Delivery Profile | GET | /api/ |
Create a New TLS Ingest Profile | POST | /api/ |
List TLS Ingest Profiles | GET | /api/ |
Update a TLS Ingest Profile | PUT | /api/ |
Delete a TLS Ingest Profile | DELETE | /api/ |
Get a TLS Ingest Profile | GET | /api/ |
List Origins for a TLS Delivery Profile | GET | /api/ |
Create a New Shared Secret Set | POST | /api/ |
List Shared Secret Sets | GET | /api/ |
Delete a Shared Secret | DELETE | /api/ |
Get a Shared Secret Set | GET | /api/ |
Update Secrets | PUT | /api/ |
Get Secrets | GET | /api/ |
Support Resources | ||
List Errors | GET | /api/ |
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/
Sample: /api/
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
}
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/
Sample: /api/
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
}
}
Run the List CDN Prefixes operation and store the
cdnPrefixId
of the relevant CDN Prefix from the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ cdn-prefixes To interpret the response object, go to CdnPrefix.
Update a CDN prefix
This operation modifies an existing CDN prefix.
PUT /api/
Sample: /api/
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
}
Run the Get a CDN Prefix operation and store the
cdnPrefixId
of the relevant CDN Prefix from the response.Update the appropriate properties in the CdnPrefix object.
Make a PUT request to
/api/
. The HTTP request body is the CdnPrefix object created in Step 2, represented in JSON.content-delivery/ v1/ content-providers/ {contentProviderId}/ cdn-prefixes/ {cdnPrefixId} To interpret the response object, go to CdnPrefix.
Delete a CDN prefix
This operation deletes a CDN prefix.
DELETE /api/
Sample: /api/
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
Run the Get a CDN Prefix operation and store the
cdnPrefixId
of the relevant CDN Prefix from the response.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/
Sample: /api/
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
}
Run the List CDN Prefixes operation and store the
cdnPrefixId
of the relevant CDN Prefix from the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ cdn-prefixes/ {cdnPrefixId} To interpret the response object, go to CdnPrefix.
Update a rule tree
This operation updates the rule behaviors for a CDN prefix.
PUT /api/
Sample: /api/
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
}
}
]
}
]
}
Run the Get a CDN Prefix operation to store the
cdnPrefixId
of the relevant CDN prefix rule in the response.Update the appropriate properties in the CDN prefix rule.
Make a PUT request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ cdn-prefixes/ {cdnPrefixId}/ rules 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/
Sample: /api/
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
}
}
]
}
]
}
Run the Get a CDN Prefix operation and store the
cdnPrefixId
of the relevant CDN prefix rule in the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ cdn-prefixes/ {cdnPrefixId}/ rules 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/
Sample: /api/
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
}
List origins
This operation displays the origins owned by the Content Provider specified by {contentProviderId}.
GET /api/
Sample: /api/
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
}
}
Run the List Origins operation and store the
originId
of the relevant origin in the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ origins</{originId}> 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/
Sample: /api/
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
}
Run the List Origins operation and store the
originId
of the relevant origin in the response.Update the appropriate properties in the origin object Origin.
Make a PUT request to
/api/
. The HTTP request body is the origin object composed in Step 2, represented in JSON format.content-delivery/ v1/ content-providers/ {contentProviderId}/ origins/ {originId} 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/
Sample: /api/
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
Run the List Origins operation and store the
originId
of the relevant origin in the response.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/
Sample: /api/
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
}
Run the List Origins operation and store the
originId
of the relevant origin in the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ origins/ {originId} 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/
Sample: /api/
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"
}
}
}
Build a TlsDeliveryProfile object.
POST the object to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-delivery-profiles 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/
Sample: /api/
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
}
]
}
Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-delivery-profiles 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/
Sample: /api/
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"
}
}
}
Run the List TLS Delivery Profiles operation and store the relevant TlsDeliveryProfile name.
Update the appropriate properties in the TlsDeliveryProfile object.
Make a PUT request to
/api/
. The HTTP request body is the TlsDeliveryProfile object created in Step 2, represented in JSON.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-delivery-profiles/ {tlsDeliveryProfileId} 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/
Sample: /api/
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
Run the List TLS Delivery Profiles operation and store the
tlsDeliveryProfileId
of the relevant TLS Delivery Profile from the response.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/
Sample: /api/
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"
}
}
}
Run the List TLS Delivery Profiles operation and store the
tlsDeliveryProfileId
of the relevant TLS Delivery Profile from the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-delivery-profiles/ {tlsDeliveryProfileId} 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/
Sample: /api/
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
}
}
Run the List TLS Delivery Profiles operation and store the
tlsDeliveryProfileId
of the relevant TLS Delivery Profile from the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-delivery-profiles/ {tlsDeliveryProfileId}/ cdn-prefixes 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/
Sample: /api/
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"
}
Build a TlsIngestProfile object.
POST the object to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-ingest-profiles 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/
Sample: /api/
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
}
]
}
Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-ingest-profiles 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/
Sample: /api/
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"
}
Run the List TLS Ingest Profiles operation and store the relevant TlsIngestProfile name from the response.
Update the appropriate properties in the TlsIngestProfile object.
Make a PUT request to
/api/
. The HTTP request body should be the TlsIngestProfile object created in Step 2, represented in JSON.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-ingest-profiles/ {tlsIngestProfileId} 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/
Sample: /api/
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
Run the List TLS Ingest Profiles operation and store the
tlsIngestProfileId
of the relevant TLS Ingest Profile from the response.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/
Sample: /api/
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"
}
Run the List TLS Ingest Profiles operation and store the
tlsIngestProfileId
form the relevant TLS Ingest Profile from the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-ingest-profiles/ {tlsIngestProfileId} 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/
Sample: /api/
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
}
}
Run the TlsIngestProfile operation and store the
tlsIngestProfileId
of the relevant TLS Ingest Profile in the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ tls-ingest-profiles/ {tlsIngestProfileId}/ origins 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/
Sample: /api/
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"
}
Build a Create a New Shared Secret Set POST object.
POST the object to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ shared-secrets-sets 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/
Sample: /api/
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
}
}
Run the List Shared Secret Sets operation and store the
sharedSecretSets
value of the relevant shared secret sets in the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ /shared-secret-sets/{sharedSecretSetId}/secrets 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/
Sample: /api/
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
Run the Delete a Shared Secret operation and store the
sharedSecretId
of the relevant shared secret set in the response.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/
Sample: /api/
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"
}
Run the Get a Shared Secret Set operation and store the ‘sharedSecretSetId’ of the relevant shared secret set in the response.
Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ shared-secrets-sets/ {sharedSecretSetId} 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/
Sample: /api/
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!"
}
}
Run the Get a Shared Secret Set operation and store the ‘sharedSecretSetId’ of the relevant shared secret set in the response.
Update the appropriate properties in the object, as desired.
Make a PUT request to
/api/
. The HTTP request body should be the shared secret set object composed in Step 2, represented in JSON format.content-delivery/ v1/ content-providers/ {contentProviderId}/ shared-secrets-sets/ {sharedSecretSetId}/ secrets 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/
Sample: /api/
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!"
}
}
Run the Get a Shared Secret Set operation and store the
sharedSecretSetId
of the relevant shared secret set in the response.Make a GET request to
/api/
.content-delivery/ v1/ content-providers/ {contentProviderId}/ shared-secrets-sets/ {sharedSecretSetId}/ secrets To interpret the response object, go to Secrets.
List errors
Retrieve the listing.
GET /api/
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>
- 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. |
○ | 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. |
○ | 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. |
○ | An abbreviated form of the Public Key of the certificate |
issuedBy |
Certificate. |
○ | A distinguished name (DN) that identifies the certificate authorizer. |
issuedTo |
Certificate. |
○ | A distinguished name (DN) that identifies the certificate owner. |
validity |
Certificate. |
○ | 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:
- defaultHttp2Delivery
- defaultHttpDelivery
- defaultHttpsDelivery
- frontEndCache
- originServer
- ramOnlyCaching
- storagePartition
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
- cacheKeyUri
- chunkSize
- cors
- dscp
- excludedQueryArguments
- externalOriginAuth
- fastcgiAuth
- followRedirect
- http2Delivery
- httpDelivery
- httpsDelivery
- lastMileAcceleration
- limitRate
- originAffinityUri
- originRangeRequest
- originServerUri
- purgeKeyUri
- siteRedirectMode
- siteRedirectType
- storagePartition
- uriSignature
- udpSyslogAccessLog
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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
○ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
○ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
✓ | 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. |
○ | 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. |
○ | 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. |
○ | 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