Log Delivery Service API Data

This section provides details for each type of data object the LDS API exchanges.

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.

LogConfiguration

Represents the main log delivery configuration object that creates and updates a log delivery configuration.

Download schema: doc-log-config.json

Sample GET response:

{
    "id": "163842",
    "status": "active",
    "startDate": "2013-01-02",
    "logSource": {
        "links": [
            {
                "rel": "self",
                "href": "/lds-api/v3/log-sources/cpcode-products/200957-1"
            },
            {
                "rel": "cpcode-products",
                "href": "/lds-api/v3/log-sources/cpcode-products"
            },
            {
                "rel": "log-sources",
                "href": "/lds-api/v3/log-sources"
            }
        ],
        "type": "cpcode-products",
        "id": "200957-1",
        "cpCode": "200957 - MOCK CP CODE DESCR ",
        "products": [
            "HTTP Content Delivery"
        ]
    },
    "aggregationDetails": {
        "type": "byLogArrival",
        "deliveryFrequency": {
            "id": "1",
            "value": "Every 24 hours",
            "links": [
                {
                    "rel": "self",
                    "href": "/lds-api/v3/log-configuration-parameters/delivery-frequencies/1"
                },
                {
                    "rel": "deliveryFrequencies",
                    "href": "/lds-api/v3/log-configuration-parameters/delivery-frequencies"
                }
            ]
        }
    },
    "contactDetails": {
        "mailAddresses": [
            "jjudge@akamai.com"
        ],
        "contact": {
            "id": "1-C30O",
            "value": ". Help-Desk - phone: 617.250.3900",
            "links": [
                {
                    "rel": "self",
                    "href": "/lds-api/v3/log-configuration-parameters/contacts/1-C30O"
                },
                {
                    "rel": "contacts",
                    "href": "/lds-api/v3/log-configuration-parameters/contacts"
                }
            ]
        }
    },
    "deliveryDetails": {
        "type": "ftp",
        "machine": "akainsight.upload.akamai.com",
        "login": "insightlds",
        "directory": "/23567/logs/200957",
        "password": ""
    },
    "encodingDetails": {
        "encoding": {
            "id": "3",
            "value": "GZIP",
            "links": [
                {
                    "rel": "self",
                    "href": "/lds-api/v3/log-configuration-parameters/encodings/3"
                },
                {
                    "rel": "encodings",
                    "href": "/lds-api/v3/log-configuration-parameters/encodings"
                }
            ]
        }
    },
    "logFormatDetails": {
        "logIdentifier": "200957",
        "logFormat": {
            "id": "2",
            "value": "combined",
            "links": [
                {
                    "rel": "self",
                    "href": "/lds-api/v3/log-configuration-parameters/log-formats/2"
                },
                {
                    "rel": "logFormats",
                    "href": "/lds-api/v3/log-configuration-parameters/log-formats"
                }
            ]
        }
    },
    "messageSize": {
        "id": "1",
        "value": "50 MB (approx. 300 MB uncompressed logs)",
        "links": [
            {
                "rel": "self",
                "href": "/lds-api/v3/log-configuration-parameters/message-sizes/1"
            },
            {
                "rel": "messageSizes",
                "href": "/lds-api/v3/log-configuration-parameters/message-sizes"
            }
        ]
    },
    "links": [
        {
            "rel": "self",
            "href": "/lds-api/v3/log-configuration/163842"
        },
        {
            "rel": "get-log-configurations-for-log-source",
            "href": "/lds-api/v3/log-sources/cpcode-products/200957-1/log-configurations",
            "title": "Get Log Configurations for the same log source"
        },
        {
            "rel": "get-log-configurations-for-log-source-type",
            "href": "/lds-api/v3/log-sources/cpcode-products/log-configurations",
            "title": "Get Log Configurations for the same log source type"
        },
        {
            "rel": "update-log-configuration",
            "href": "/lds-api/v3/log-configuration/163842",
            "method": "PUT",
            "title": "Update Log Configuration"
        },
        {
            "rel": "delete-log-configuration",
            "href": "/lds-api/v3/log-configuration/163842",
            "method": "DELETE",
            "title": "Delete Log Configuration"
        },
        {
            "rel": "suspend-log-configuration",
            "href": "/lds-api/v3/log-configuration/163842/suspend",
            "method": "POST",
            "title": "Suspend Log Configuration"
        }
    ]
}

LogConfiguration Members

Member Type Required Description
aggregationDetails Object Defines how to aggregate logs: by log arrival or by hit time. The value is either an AggregationByHitTime or AggregationByLogArrival object.
contactDetails LogConfiguration.contactDetails Contains details about contact person for this log delivery configuration.
deliveryDetails Object Either an EmailDelivery or FtpDelivery object.
encodingDetails LogConfiguration.encodingDetails Describes the log encoding.
endDate String End date to which logs will be collected.
id String Read-only. Unique identifier of this configuration.
logFormatDetails LogConfiguration.logFormatDetails Describes the log format.
logSource Object Read-only. This member appears in log configurations only in server responses. For creating and modifying log configuration, all required information to identify configuration is in the URL. The type is either an AnswerXLogSource, CpCodeLogSource, EdnsLogSource, or GtmLogSource.
messageSize Object Packed log message’s approximate size, a simple KeyValuePair object.
startDate String Start date from which logs will be collected.
status Enumeration Read-only. Log configuration status, either active, expired, or suspended. Only active configurations are used in the actual log delivery process.

LogConfiguration.contactDetails  

Contains details about contact person for this log delivery configuration.

Member Type Required Description
contact Object Contact information provided as a simple KeyValuePair object.
mailAddresses Array List of email addresses for contacts for this log format configuration.

LogConfiguration.encodingDetails  

Describes the log encoding.

Member Type Required Description
encoding Object Selected encoding option used to encode logs, a simple KeyValuePair object.
encodingKey String Public key value for encrypted encoding. You need to set the public key value if GPG encrypted encoding is used.

LogConfiguration.logFormatDetails  

Describes the log format.

Member Type Required Description
logFormat Object Selected format for log delivery, a simple KeyValuePair object.
logIdentifier String Represents the first token of the log filename.

LogConfigurationCopy

Encapulates information needed to copy a log configuration.

Download schema: doc-log-copy.json

Sample GET response:

{
    "copyTarget": {
        "logSource": {
            "type": "gtm",
            "id": "1243"
        }
    }
}

LogConfigurationCopy Members

Member Type Required Description
copyTarget LogConfigurationCopy.copyTarget Represents target log source for configuration copy request.

LogConfigurationCopy.copyTarget  

Represents target log source for configuration copy request.

Member Type Required Description
logSource Object Describes detailed log source information for configuration, one of these object types: AnswerXLogSource, CpCodeLogSource, EdnsLogSource, or GtmLogSource.

Redelivery

Collects information needed to create a log redelivery request.

Download schema: doc-redelivery.json

Sample GET response:

{
    "logConfiguration": {
        "id": "154519",
        "links": [
            {
                "rel": "self",
                "href": "/lds-api/v3/log-configurations/154519"
            }
        ]
    },
    "id": "272480",
    "beginTime": 3,
    "endTime": 6,
    "redeliveryDate": "2016-10-08",
    "status": "new",
    "createdDate": "2016-10-05",
    "modifiedDate": "2016-10-07",
    "links": [
        {
            "rel": "self",
            "href": "/lds-api/v3/log-redeliveries/272480"
        },
        {
            "rel": "get-log-redeliveries",
            "href": "/lds-api/v3/log-redeliveries",
            "title": "Get Log Redeliveries"
        },
        {
            "rel": "create-log-redelivery",
            "href": "/lds-api/v3/log-redeliveries",
            "method": "POST",
            "title": "Create Log Redelivery"
        }
    ]
}

Redelivery Members

Member Type Required Description
beginTime Integer First hour of time range (0–23) for which log redelivery is requested.
createdDate String Read-only. Date the request for redelivery was created.
endTime Integer Last hour of time range (1–24) for which log redelivery is requested.
id String Read-only. Unique ID of this redelivery request.
logConfiguration Redelivery.logConfiguration Log delivery configuration for which this redelivery request was created.
modifiedDate String Read-only. Date of the last time the redelivery request was modified.
redeliveryDate String Date from which log redelivery is requested.
status Enumeration Read-only. Status of the redelivery, either new, scheduled, success, or failed.

Redelivery.logConfiguration  

Log delivery configuration for which this redelivery request was created.

Member Type Required Description
id String Unique ID for the log delivery configuration.

KeyValuePair

A simple data type used for pairs of IDs and values.

Download schema: doc-pair.json

Sample GET response:

{
    "id": "1",
    "value": "Every 24 hours",
    "links": [
        {
            "rel": "self",
            "href": "/lds-api/v3/log-configuration-parameters/delivery-frequencies/1"
        },
        {
            "rel": "deliveryFrequencies",
            "href": "/lds-api/v3/log-configuration-parameters/delivery-frequencies"
        }
    ]
}

KeyValuePair Members

Member Type Required Description
id String Unique identifier for the object.
value String Read-only. Human-readable value for the object.

AggregationByHitTime

This aggregation option allows to receive most of the hits for each GMT calendar day in a single delivery.

Download schema: doc-aggregation-by-hit-time.json

AggregationByHitTime Members

Member Type Required Description
deliverResidualData Boolean Indicates whether residual data should be sent at regular intervals after each day.
deliveryThreshold Object Data completion threshold, or the percentage of expected logs to be processed before the log data is sent to you, provided as a simple KeyValuePair object.
type Enumeration Identifies the type of aggregation, byHitTime in this case.

AggregationByLogArrival

This aggregation option allows you to receive log data in the order in which it arrives from edge servers.

Download schema: doc-aggregation-by-log-arrival.json

AggregationByLogArrival Members

Member Type Required Description
deliveryFrequency Object Period of time that will be covered by log delivery, provided as a simple KeyValuePair object.
type Enumeration Identifies the type of aggregation, byLogArrival in this case.

FtpDelivery

Encapsulates log delivery via FTP.

Download schema: doc-ftp-delivery.json

FtpDelivery Members

Member Type Required Description
directory String Target directory to which logs will be sent by FTP.
login String Login used to authenticate to FTP machine.
machine String Machine to which log will be sent by FTP.
password String Password used to authenticate to FTP machine. Keep in mind that this field will be empty in all responses from the server.
type Enumeration Identifies this type of delivery, ftp in this case.

EmailDelivery

Encapsulates log delivery sent by email.

Download schema: doc-email-delivery.json

EmailDelivery Members

Member Type Required Description
emailAddress String Email address to which log will be sent.
type Enumeration Identifies this type of delivery, email in this case.

AnswerXLogSource

Identifies an AnswerX object for which you can create a log delivery configuration.

Download schema: doc-log-source-answerx.json

AnswerXLogSource Members

Member Type Required Description
id Integer Unique identifier for each log source.
logRetentionDays Integer Read-only. Number of days that Akamai should keep logs collected for that log source. You can create log redelivery requests only for this retention period.
name String Read-only. The AnswerX object name.
type Enumeration Identifies the type of this log source, in this case answerx.

CpCodeLogSource

Identifies a group of CP code products, for which the log delivery configuration is being created.

Download schema: doc-log-source-cpcode.json

CpCodeLogSource Members

Member Type Required Description
cpCode String Read-only. CP code ID and name for which logs will be collected.
id Integer Unique identifier for each log source.
logRetentionDays Integer Read-only. Number of days that Akamai should keep logs collected for that log source. You can create log redelivery requests only for this retention period.
products Array Read-only. Products for which logs will be collected.
type Enumeration Identifies the type of this log source, in this case cpcode-products.

EdnsLogSource

Identifies a DNS zone for which you can create a log delivery configuration.

Download schema: doc-log-source-edns.json

EdnsLogSource Members

Member Type Required Description
id Integer Unique identifier for each log source.
logRetentionDays Integer Read-only. Number of days that Akamai should keep logs collected for that log source. You can create log redelivery requests only for this retention period.
type Enumeration Identifies the type of this log source, in this case edns.
zoneName String Read-only. The full name of the EDNS zone.

GtmLogSource

Identifies a Traffic Management property for which you can create a log delivery configuration.

Download schema: doc-log-source-gtm.json

GtmLogSource Members

Member Type Required Description
id Integer Unique identifier for each log source.
logRetentionDays Integer Read-only. Number of days that Akamai should keep logs collected for that log source. You can create log redelivery requests only for this retention period.
propertyName String Read-only. The full name of the Traffic Management domain property.
type Enumeration Identifies the type of this log source, in this case gtm.

Last modified: 1/25/2018