Add RTLD CDN Profile

Creates a log data delivery profile for RTLD CDN.

Request

Create a RTLD CDN profile via the following request:

HTTP Method Request URI

POST

https://api.transactcdn.com/v2/mcc/customers/AccountNumber/rtld/settings

Define the following variable when submitting the above request:

VariableA variable represents a value that must be replaced. A variable consists of either a URL segment (e.g., "0001" in /0001/) or a query string value (e.g., "3" in mediaTypes=3). Description

AccountNumber

Required

Replace this variable with a customer account number. This account number may be found in the upper left-hand corner of the TCC.

Request Headers

This endpointIdentifies a request's connection point to our REST API service. only takes advantage of common request headers.

Request Body

Pass the following request body parameters:

Name Data Type Description

aws_s3

Required

Object

Required when delivery_method is set to aws_s3.

Contains the configuration for the AWS S3 log delivery method.

azure_blob_storage

Required

Object

Required when delivery_method is set to azure_blob_storage.

Contains the configuration for the Azure Blob Storage log delivery method.

custom_cookies

Array of string values

Defines each cookie that will be logged for each request.

custom_request_headers

Array of string values

Defines each request header that will be logged for each request.

custom_response_headers

Array of string values

Defines each response header that will be logged for each request.

datadog

Required

Object

Required when delivery_method is set to datadog.

Contains the configuration for the Datadog log delivery method.

delivery_method

Required

String

Determines the destination (e.g., aws_s3 or azure_blob_storage) to which log data will be delivered.

Use the Get Log Delivery Methods endpoint to retrieve the set of valid values for this parameter.

You should only configure the delivery method defined by this parameter. For example, if you set this parameter to http_post, you should define the http_post object and then either omit or set the objects for other delivery methods (e.g., aws_s3 or azure_blob_storage) to null.

description

String

Defines the log delivery profile's description. Limit this description to 100 characters.

downsampling_rate

Decimal

Determines the rate at which log data will be downsampled. Omit or set this parameter to null to disable log data downsampling.

Use the Get Log Downsampling Rates endpoint to retrieve the set of valid values for this parameter.

enabled

Boolean

Determines whether RTLD will use this profile to deliver log data. Valid values are: 

true | false

fields

Required

Array of string values

Defines the set of log fields that will be delivered.

Use the Get Log Fields (RTLD CDN) endpoint to retrieve the set of valid values for this parameter.

filters

Object

Contains your log data filtering configuration.

gcs

Required

Object

Required when delivery_method is set to gcs.

Contains the configuration for the Google Cloud Storage log delivery method.

http_post

Required

Object

Required when delivery_method is set to http_post.

Contains the configuration for the HTTP POST log delivery method.

log_format

String

Determines the log data's format. Valid values are:

json | json_array | json_lines

This property may only be defined when delivery_method is set to http_post, aws_s3, azure_blob_storage, or gcs.

RTLD uses a default log format when this property is set to a null value.

Learn more.

new_relic

Required

Object

Required when delivery_method is set to new_relic.

Contains the configuration for the New Relic log delivery method.

platforms

Required

Array

Set this property to adn.

profile_name

String

Determines the log delivery profile's name. Limit this unique name to 36 characters.

splunk_enterprise

Required

Object

Required when delivery_method is set to splunk_enterprise.

Contains the configuration for the Splunk Enterprise log delivery method.

sumo_logic

Required

Object

Required when delivery_method is set to sumo_logic.

Contains the configuration for the Sumo Logic log delivery method.

aws_s3 Object

The aws_s3 object describes the AWS S3 log delivery method using the following properties:

Name Data Type Description

bucket

Required

String

Required when delivery_method is set to aws_s3.

Determines the AWS S3 bucket to which log data will be delivered.

prefix

String

Defines the prefix that identifies a virtual log file storage location and/or a prefix that will be added to each object added to your bucket.

Learn more.

region

Required

String

Required when delivery_method is set to aws_s3.

Determines the region assigned to the AWS S3 bucket defined by the bucket parameter.

Use the Get AWS Regions endpoint to retrieve the set of valid values for this parameter.

azure_blob_storage Object

The azure_blob_storage object describes the Azure Blob Storage log delivery method using the following properties:

Name Data Type Description

access_key

Required

String

Required when access_type is set to access_key.

Determines the access key through which log data uploads will be authorized.

access_type

Required

String

Required when delivery_method is set to azure_blob_storage.

Determines whether log data uploads will be authorized via a SAS token or an access key.

Use the Get Access Types (Azure Blob Storage) endpoint to retrieve the set of valid values for this parameter.

prefix

String

Defines a virtual log file storage location and/or a prefix that will be added to each log file added to your container.

Learn more.

token

Required

String

Required when access_type is set to sas_token.

Defines the SAS token through which log data uploads will be authorized.

url

Required

String

Required when delivery_method is set to azure_blob_storage.

Defines a URL that points to the Blob container to which log data will be posted.

Learn more.

datadog Object

The datadog object describes the Datadog log delivery method using the following properties:

Name Data Type Description

api_key

Required

String

Required when delivery_method is set to datadog.

Defines the API key through which log data uploads will be authorized.

service_attribute_value

Required

String

Required when delivery_method is set to datadog.

Defines a value through which uploaded log data will be identified within the Datadog environment.

site

Required

String

Required when delivery_method is set to datadog.

Determines the Datadog site to which log data will be delivered. Valid values are:

us | eu

gcs Object

The gcs object describes the Google Cloud Storage log delivery method using the following properties:

Name Data Type Description

bucket

Required

String

Required when delivery_method is set to gcs.

Determines the Google Cloud Storage bucket to which log data will be delivered.

prefix

String

Defines the prefix that identifies a virtual log file storage location and/or a prefix that will be added to each object added to your bucket.

Learn more.

filters Object

The filters object describes your log filtering configuration using the following properties:

Name Data Type Description

cnames

Array of string values

Specify a string value for each edge CNAME for which log data will be delivered. Omit this parameter or define an empty array if log data should not be filtered by edge CNAMEs.

Retrieve edge CNAMEs via the Name parameter of the Get All Edge CNAMEs endpoint.

Example:

"cnames": ["cdn1.example.com", "cdn2.example.com"],

cnames_condition

String

Determines how log data will be filtered by edge CNAME(s). Valid values are:

  • in: Filters log data to only include requests that point to the edge CNAMEs defined within the cnames property.
  • not_in: Filters log data to exclude requests that point to the edge CNAMEs defined within the cnames property.

status_codes

Array of string values

Specify a string value for each HTTP status code for which log data will be delivered. Omit this parameter or define an empty array if log data should not be filtered by HTTP status codes.

Use the Get HTTP Status Codes endpoint to retrieve the set of valid values for this parameter.

Example:

"status_codes": ["2xx", "3xx"],

user_agent_regexp

String

Defines a RE2-compatible regular expression pattern that identifies the set of user agents by which log data will be filtered. A null value indicates that log data will not be filtered by a user agent.

http_post Object

The http_post object describes the HTTP POST log delivery method using the following properties:

Name Data Type Description

authentication_type

Required

String

Required when delivery_method is set to http_post.

Determines how log delivery requests will be authenticated to your web servers.

Use the Get HTTP POST Authentication Methods endpoint to retrieve the set of valid values for this parameter.

destination_endpoint

Required

String

Required when delivery_method is set to http_post.

Defines the absolute URL to which log data will be delivered.

Sample value:

https://logs.example.com/cdn/

password

Required

String

Required when authentication_type is set to http_basic.

Defines the password through which requests to your web server will be authenticated.

Base-64 encoding will applied to the specified credentials. After which, the encoded value will be passed via the Authorization header.

token

Required

String

Required when authentication_type is set to custom_authentication.

Defines the token value that will be passed via the Authorization request header whenever log data is delivered to your web servers.

username

Required

String

Required when authentication_type is set to http_basic.

Determines the user name through which requests to your web server will be authenticated.

new_relic Object

The new_relic object describes the New Relic log delivery method using the following properties:

Name Data Type Description

account_id

Required

String

Required when delivery_method is set to new_relic.

Identifies the system-defined ID for the New Relic account to which log data will be uploaded.

event_type

Required

String

Required when delivery_method is set to new_relic.

Defines the label that identifies log data delivered to New Relic as a result of this profile. Specify a label that solely consists of alphanumeric characters, underscores, and colons.

insert_key

Required

String

Required when delivery_method is set to new_relic.

Defines the Inserts insight API key through which log data uploads will be authorized.

splunk_enterprise Object

The splunk_enterprise object describes the Splunk Enterprise log delivery method using the following properties:

Name Data Type Description

token

Required

String

Required when delivery_method is set to splunk_enterprise.

Defines the token for the HTTP Event Collector configuration associated with the URL corresponding to the url parameter.

url

Required

String

Required when delivery_method is set to splunk_enterprise.

Defines a URL that points to your Splunk Enterprise's HTTP Event Collector configuration.

Default URL syntax:

sumo_logic Object

The sumo_logic object describes the Sumo Logic log delivery method using the following properties:

Name Data Type Description

url

Required

String

Required when delivery_method is set to sumo_logic.

Defines a URL that points to the HTTP source defined within Sumo Logic.

Response

The response to the above request includes an HTTP status code, response headers, and a response body.

Status Code

A status code indicates whether the request was successfully performed.

Response Headers

The response for this endpoint only includes standard HTTP response headers.

View common response headers.

Response Body

The response body for a successful request contains the following response element:

Name Data Type Description

@id

String

Indicates the relative path for an endpoint that returns this profile.

@type

String

Returns RtldSetting.

account_number

String

Indicates your customer account number.

aws_s3

Object

Contains the configuration for the AWS S3 log delivery method.

azure_blob_storage

Object

Contains the configuration for the Azure Blob Storage log delivery method.

custom_cookies

Array of string values

Indicates each cookie that will be logged for each request.

custom_request_headers

Array of string values

Indicates each request header that will be logged for each request.

custom_response_headers

Array of string values

Indicates each response header that will be logged for each request.

datadog

Object

Contains the configuration for the Datadog log delivery method.

delivery_method

String

Indicates the destination (e.g., aws_s3 or azure_blob_storage) to which log data will be delivered.

Learn more.

description

String

Indicates the log delivery profile's description.

downsampling_rate

Decimal

Indicates the rate at which log data will be downsampled.

RTLD will not downsample log data when this property is set to a null value.

enabled

Boolean

Indicates whether RTLD will use this profile to deliver log data. Valid values are: 

true | false

fields

Array of string values

Indicates the set of log fields that will be delivered.

Learn more.

filters

Object

Contains your log data filtering configuration.

gcs

Object

Contains the configuration for the Google Cloud Storage log delivery method.

http_post

Object

Contains the configuration for the HTTP POST log delivery method.

id

Integer

Indicates the system-defined ID for a RTLD CDN profile.

log_format

String

Indicates the log data's format. Valid values are:

json | json_array | json_lines

RTLD uses a default log format when this property is set to a null value.

Learn more.

new_relic

Object

Contains the configuration for the New Relic log delivery method.

platforms

Array

Returns adn.

profile_name

String

Indicates the log delivery profile's name.

splunk_enterprise

Object

Contains the configuration for the Splunk Enterprise log delivery method.

sumo_logic

Object

Contains the configuration for the Sumo Logic log delivery method.

aws_s3 Object

The aws_s3 object describes the AWS S3 log delivery method using the following properties:

Name Data Type Description

bucket

String

Indicates the AWS S3 bucket to which log data will be delivered.

prefix

String

Indicates the prefix that identifies a virtual log file storage location and/or a prefix that will be added to each object added to your bucket.

Learn more.

region

String

Indicates the region assigned to the AWS S3 bucket defined by the bucket parameter.

Learn more.

azure_blob_storage Object

The azure_blob_storage object describes the Azure Blob Storage log delivery method using the following properties:

Name Data Type Description

access_key

String

Indicates the access key through which log data uploads will be authorized.

access_type

String

Indicates whether log data uploads will be authorized via a SAS token or an access key.

masked_access_key

String

Indicates a masked value that represents the access key defined within the access_key element.

masked_token

String

Indicates a masked value that represents the SAS token defined within the token element.

prefix

String

Indicates a virtual log file storage location and/or a prefix that will be added to each log file added to your container.

Learn more.

token

String

Indicates the SAS token through which log data uploads will be authorized.

url

String

Indicates a URL that points to the Blob container to which log data will be posted.

Learn more.

datadog Object

The datadog object describes the Datadog log delivery method using the following properties:

Name Data Type Description

api_key

String

Indicates the encrypted API key through which log data uploads will be authorized.

masked_api_key

String

Indicates a masked value that represents the API key defined within the api_key element.

service_attribute_value

String

Indicates a value through which uploaded log data will be identified within the Datadog environment.

site

String

Indicates the Datadog site to which log data will be delivered. Valid values are:

us | eu

gcs Object

The gcs object describes the Google Cloud Storage log delivery method using the following properties:

Name Data Type Description

bucket

String

Indicates the Google Cloud Storage bucket to which log data will be delivered.

prefix

String

Indicates the prefix that identifies a virtual log file storage location and/or a prefix that will be added to each object added to your bucket.

Learn more.

filters Object

The filters object describes your log filtering configuration using the following properties:

Name Data Type Description

cnames

Array of string values

Indicates the set of edge CNAMEs by which log data will be filtered. A null value indicates that log data will not be filtered by an edge CNAME.

cnames_condition

String

Indicates how log data will be filtered by edge CNAME(s). Valid values are:

  • in: Filters log data to only include requests that point to the edge CNAMEs defined within the cnames property.
  • not_in: Filters log data to exclude requests that point to the edge CNAMEs defined within the cnames property.

status_codes

Array of string values

Indicates the set of HTTP status codes by which log data will be filtered. A null value indicates that log data will not be filtered by an HTTP status code.

user_agent_regexp

String

Indicates a RE2-compatible regular expression pattern that identifies the set of user agents by which log data will be filtered. A null value indicates that log data will not be filtered by a user agent.

http_post Object

The http_post object describes the HTTP POST log delivery method using the following properties:

Name Data Type Description

authentication_type

String

Indicates how log delivery requests will be authenticated to your web servers.

Learn more.

destination_endpoint

String

Indicates the absolute URL to which log data will be delivered.

masked_password

String

Indicates a masked value that represents the password defined within the password element.

masked_token

String

Indicates a masked value that represents the token defined within the token element.

password

String

Indicates the encrypted value of the password through which requests to your web server will be authenticated.

token

String

Indicates the token value that will be passed via the Authorization request header whenever log data is delivered to your web servers.

username

String

Indicates the user name through which requests to your web server will be authenticated.

new_relic Object

The new_relic object describes the New Relic log delivery method using the following properties:

Name Data Type Description

account_id

String

Indicates the system-defined ID for the New Relic account to which log data will be uploaded.

event_type

String

Indicates the label that identifies log data delivered to New Relic as a result of this profile. Specify a label that solely consists of alphanumeric characters, underscores, and colons.

insert_key

String

Indicates the Inserts insight API key through which log data uploads will be authorized.

masked_insert_key

String

Indicates a masked value that represents the Inserts insight API key defined within the insert_key element.

splunk_enterprise Object

The splunk_enterprise object describes the Splunk Enterprise log delivery method using the following properties:

Name Data Type Description

masked_token

String

Indicates a masked value that represents the token defined within the token element.

token

String

Indicates the token for the HTTP Event Collector configuration associated with the URL corresponding to the url parameter.

url

String

Indicates a URL that points to your Splunk Enterprise's HTTP Event Collector configuration.

sumo_logic Object

The sumo_logic object describes the Sumo Logic log delivery method using the following properties:

Name Data Type Description

masked_url

String

Indicates a masked value that represents the URL defined within the url element.

url

String

Indicates a URL that points to the HTTP source defined within Sumo Logic.

Errors

The response body for an unsuccessful request will contain an error response that provides additional information.

Sample Request and Response (JSON)

A sample JSON request is shown below.

POST https://api.transactcdn.com/v2/mcc/customers/0001/rtld/settings HTTP/1.1

Authorization: TOK:12345678-1234-1234-1234-1234567890ab

Accept: application/json

Content-Type: application/json

Host: api.transactcdn.com

Content-Length: 513

{
	"delivery_method": "http_post",
	"fields": ["user_agent", "rewritten_path", "path", "timestamp", "client_ip", "client_ip_version", "status_code", "status", "cache_status", "bytes_out", "write_time", "file_size", "server_ip", "server_port", "method", "host", "query", "auth_user", "read_time"],
	"platforms": [
		"adn"
	],
	"http_post": {
		"destination_endpoint": "https://logs.example.com/cdn/",
		"authentication_type": "none",
		"token": null,
		"username": null,
		"password": null
	}
}

A sample JSON response is shown below.

HTTP/1.1 200 OK

Cache-Control: no-cache

Content-Type: application/json; charset=utf-8

Date: Thu, 15 Apr 2021 12:00:00 GMT

Content-Length: 900

{
	"@id": "/v2/mcc/customers/0001/rtld/settings",
	"@type": "RtldSetting",
	"id": 20,
	"account_number": "0001",
	"delivery_method": "http_post",
	"enabled": false,
	"downsampling_rate": null,
	"fields": ["user_agent", "rewritten_path", "path", "timestamp", "client_ip", "client_ip_version", "status_code", "status", "cache_status", "bytes_out", "write_time", "file_size", "server_ip", "server_port", "method", "host", "query", "auth_user", "read_time"],
	"platforms": [
		"adn"
	],
	"filters": {
		"status_codes": null,
		"cnames": null
	},
	"aws_s3": null,
	"http_post": {
		"destination_endpoint": "https://logs.example.com/cdn/",
		"authentication_type": "none",
		"token": null,
		"username": null,
		"password": null
	},
	"sumo_logic": null,
	"splunk_enterprise": null,
	"azure_blob_storage": null
}