Enterprise Threat Protector Configuration API Data

This section provides you with the data model for the ETP Config API.

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.

Site

Specifies IP addresses and CIDR blocks of a region or geographic area in your network to compare incoming requests against an assigned policy.

Download schema: site-retrieve-specific.json

Sample GET response:

{
    "id": 101,
    "description": "This is Akamai's site",
    "name": "Akamai Site",
    "exitPoints": [
        {
            "ipAddr": "10.10.10.10",
            "addrType": "ADDR_TYPE_IPV4"
        }
    ],
    "policyId": 1030,
    "policyInfo": {
        "id": 1030,
        "name": "Policy 1"
    }
}

Site Members

Member Type Required Description
description String A description of the site configuration that you provide.
exitPoints Site.exitPoints[n] Encapsulates data for Site exit points.
id Integer A unique identifier for each site. Use this value for a siteId parameter in subsequent operations.
name String The name of the site configuration.
policyId Integer The unique ID of the related policy.
policyInfo Site.policyInfo Specifies the related policy ETP applies to incoming DNS requests.

Site.exitPoints[n]  

Encapsulates data for Site exit points.

Member Type Required Description
addrType Enumeration The type of internet protocol address, either ADDR_TYPE_IPV4 or ADDR_TYPE_IPV6.
ipAddr String The IP address or CIDR block for your company branch or headquarters used to match a policy to a request.

Site.policyInfo  

Specifies the related policy ETP applies to incoming DNS requests.

Member Type Required Description
id Integer Read-only. The unique ID of the related policy.
name String The name of the related policy.

Policy

This object encapsulates the security policy to assign to a site. You can configure the Accepted Use Policy (AUP) and set responses for known and suspected threats under specified categories.

Download schema: policy-retrieve-specific.json

Sample GET response:

{
    "id": 115,
    "description": "Akamai's Policy",
    "name": "Akamai Policy",
    "sites": [
        100
    ],
    "sitesInfo": [
        {
            "id": 100,
            "name": "Akamai Site"
        }
    ],
    "basicSettings": {
        "dnssec": true,
        "edns0ecs": true
    },
    "aupSettings": [
        {
            "categoryId": 1,
            "categoryInfo": {
                "id": 1,
                "name": "Social"
            },
            "responseId": 1,
            "responseInfo": {
                "id": 1,
                "name": "Monitor"
            }
        }
    ],
    "securitySettings": [
        {
            "listId": 1,
            "listInfo": {
                "id": 1,
                "name": "Akamai List"
            },
            "confirmedResponseId": 2,
            "confirmedResponseInfo": {
                "id": 2,
                "name": "Deny"
            },
            "suspectedResponseId": 1,
            "suspectedResponseInfo": {
                "id": 1,
                "name": "Monitor"
            },
            "shouldNotifyConfirmed": true,
            "shouldNotifySuspected": true
        }
    ]
}

Policy Members

Member Type Required Description
aupSettings Policy.aupSettings[n] Contains the AUP settings.
basicSettings Policy.basicSettings Contains the basic policy settings.
description String A description of the policy that you provide.
id Integer A unique identifier for each policy. Use this value for a policyId parameter in subsequent operations.
name String The name of the policy.
securitySettings Policy.securitySettings[n] Contains the policy security settings.
sites Array Encapsulates associated site IDs.
sitesInfo Policy.sitesInfo[n] Encapsulates data of an associated site.

Policy.aupSettings[n]  

Contains the AUP settings.

Member Type Required Description
categoryId Integer A unique identifier for the category.
categoryInfo Policy.aupSettings[n].categoryInfo Encapsulates data for a category.
responseId Integer A unique identifier for the response.
responseInfo Policy.aupSettings[n].responseInfo Encapsulates data for the response.

Policy.aupSettings[n].categoryInfo  

Encapsulates data for a category.

Member Type Required Description
id Integer Read-only. A unique identifier for the category.
name String The name of the category.

Policy.aupSettings[n].responseInfo  

Encapsulates data for the response.

Member Type Required Description
id Integer Read-only. A unique identifier for the response.
name String The name of the response.

Policy.basicSettings  

Contains the basic policy settings.

Member Type Required Description
edns0ecs Boolean When enabled, optimizes CDN traffic using the EDNS-Client-Subnet extension.

Policy.securitySettings[n]  

Contains the policy security settings.

Member Type Required Description
confirmedResponseId Integer A unique identifier for the confirmed response.
confirmedResponseInfo Policy.securitySettings[n].confirmedResponseInfo Encapsulates data about the confirmed response.
listId Integer A unique identifier for the list.
listInfo Policy.securitySettings[n].listInfo Encapsulates data about the list.
shouldNotifyConfirmed Boolean Send alert on confirmed list hit.
shouldNotifySuspected Boolean Send alert on suspected list hit.
suspectedResponseId Integer A unique identifier for the suspected response.
suspectedResponseInfo Policy.securitySettings[n].suspectedResponseInfo Encapsulates data about the suspected response.

Policy.securitySettings[n].confirmedResponseInfo  

Encapsulates data about the confirmed response.

Member Type Required Description
id Integer Read-only. A unique identifier for the confirmed response.
name String The name of the confirmed response.

Policy.securitySettings[n].listInfo  

Encapsulates data about the list.

Member Type Required Description
id Integer Read-only. A unique identifier for the list.
name String The name of the list.

Policy.securitySettings[n].suspectedResponseInfo  

Encapsulates data about the suspected response.

Member Type Required Description
id Integer Read-only. A unique identifier for the suspected response.
name String The name of the suspected response.

Policy.sitesInfo[n]  

Encapsulates data of an associated site.

Member Type Required Description
id Integer Read-only. The unique identifier for the site.
name String The name of the site.

CustomList

This object is a custom a security list of domains and IP addresses, with a set confidence level for each.

Download schema: list-retrieve-specific.json

Sample GET response:

{
    "id": 225,
    "name": "Akamai List",
    "securityCategoryId": 2,
    "securityCategoryInfo": {
        "id": 2,
        "name": "Phishing"
    },
    "description": "Akamai's List",
    "itemCount": 800,
    "knownCounts": {
        "ips": 200,
        "domains": 200
    },
    "suspectedCounts": {
        "ips": 200,
        "domains": 200
    },
    "remainingCount": 200
}

CustomList Members

Member Type Required Description
description String A description of the list that you provide.
id Integer A unique identifier for each list. Use this value for a listId parameter in subsequent operations.
itemCount Integer The number of entries in a list.
knownCounts CustomList.knownCounts Encapsulates data of known counts.
name String The name of the list.
remainingCount Integer The number of remaining entries for all lists globally.
securityCategoryId Integer A unique identifier for the security category.
securityCategoryInfo CustomList.securityCategoryInfo Encapsulates data about the security category.
suspectedCounts CustomList.suspectedCounts The count of suspected domain entries in the list.

CustomList.knownCounts  

Encapsulates data of known counts.

Member Type Required Description
domains Integer The count of known domain entries in the list.
ips Integer The count of known IP addresses in the list.

CustomList.securityCategoryInfo  

Encapsulates data about the security category.

Member Type Required Description
id Integer A unique identifier for the security category.
name String The name of the security category.

CustomList.suspectedCounts  

The count of suspected domain entries in the list.

Member Type Required Description
domains Integer The count of suspected domains in the list.
ips Integer The count of suspected IP addresses in the list.

EmergencyList

This object contains a whitelist or blacklist of domains and IP addresses to allow or block on your domain. These lists are applied globally across site configurations and override individual policy settings.

Download schema: emergency-list-retrieve-specific.json

Sample GET response:

{
    "ipAddrs": [
        "192.169.19.29",
        "180.220.11.110"
    ],
    "domains": [
        "www.google.com",
        "www.facebook.com"
    ],
    "itemCount": 4,
    "remainingCount": 996
}

EmergencyList Members

Member Type Required Description
domains Array Array of data entries. Each element corresponds to a domain.
ipAddrs Array Array of data entries. Each element corresponds to an IP address.
itemCount Integer The total count of entries in the list.
remainingCount Integer Remaining count of entries that you can add to the list.

ListItem

This object provides details for a list entry.

Download schema: list-set-items-content.json

Sample GET response:

[
    {
        "type": "LIST_TYPE_IP",
        "value": "192.168.100.100",
        "confidenceLevelId": 1
    }
]

ListItem Members

Member Type Required Description
confidenceLevelId Enumeration An identifier that corresponds to the confidence level of the list item. A value of 1 signifies a suspected item, while a value of 2 signifies a known item.
type Enumeration Specifies whether the list item is an IP address (LIST_TYPE_IP) or domain (LIST_TYPE_DOMAIN).
value String The IP address or domain of the list item.

ListPatch

This object contains items to add or delete when performing a patch operation on a list.

Download schema: list-modify-items-content.json

Sample GET response:

{
    "delete": [
        "192.160.100.100",
        "220.10.100.11"
    ],
    "add": [
        {
            "type": "LIST_TYPE_IP",
            "value": "115.65.10.134",
            "confidenceLevelId": 2
        }
    ]
}

ListPatch Members

Member Type Required Description
add ListPatch.add[n] Contains details of the list item to add in the patch operation.
delete Array An array of Ip Addresses and Domains to delete in the patch operation.

ListPatch.add[n]  

Contains details of the list item to add in the patch operation.

Member Type Required Description
confidenceLevelId Enumeration An identifier that corresponds to the confidence level of the list item. A value of 1 signifies a suspected item, while a value of 2 signifies a known item.
type Enumeration Specifies whether the list item is an IP address (LIST_TYPE_IP) or domain (LIST_TYPE_DOMAIN).
value String The IP address or domain of the list item.

ListQuota

This object returns the global count of entries in all lists and the remaining entries available to provision.

Download schema: list-get-global-quota.json

Sample GET response:

{
    "count": 1000,
    "remainingCount": 990
}

ListQuota Members

Member Type Required Description
count Number The total number of list items currently in your configuration.
remainingCount Number The remaining number of list items that you can add to your configuration.

Honeypot

This object specifies a honeypot for receiving and monitoring malicious requests. Honeypots are monitored resources within a network that provide secure responses to the request in order to gain insight into an attack and the methods they use.

Download schema: honeypot-retrieve-specific.json

Sample GET response:

{
    "id": 1,
    "name": "Example Honeypot",
    "description": "Example of a Honeypot configuration ",
    "ipv4Addrs": [
        "196.168.1.1",
        "199.100.232.1"
    ],
    "ipv6Addrs": [
        "2019:D30::88/124",
        "2021:D32::88/124"
    ]
}

Honeypot Members

Member Type Required Description
description String The description of the Honeypot.
id Integer A unique identifier for each honeypot. Use this value for a honeypotId parameter in subsequent operations.
ipv4Addrs Array An array of data entries. Each element corresponds to an IPv4 address of a target device.
ipv6Addrs Array An array of data entries. Each element corresponds to an IPv6 address of a target device.
name String The name of the Honeypot.

ListDeployment

Encapsulates data describing the status and details of a list configuration deployment.

Download schema: list-deployment-retrieve-specific.json

Sample GET response:

{
    "id": 101,
    "status": "COMPLETED",
    "message": "File successfully deployed to Akamai network (Succeeded)",
    "startTime": "2012-04-23T18:22:43.511Z",
    "endTime": "2012-04-23T18:25:43.511Z",
    "deployedBy": "internal-user"
}

ListDeployment Members

Member Type Required Description
deployedBy String The user who created the deployment.
endTime String Read-only. The end time of the deployment in ISO 8601 format.
id Integer A unique identifier for each list deployment. Use this value for a listDeploymentId parameter in subsequent operations.
message String The status message, in cases where failure of deployment occurs.
startTime String Read-only. The start time of the deployment in ISO 8601 format.
status Enumeration The status of list deployment, either PENDING, RUNNING, COMPLETED, or FAILED.

ConfigurationDeployment

Encapsulates data describing the status and details of an ETP configuration deployment.

Download schema: etp-configuration-deployment-retrieve-specific.json

Sample GET response:

{
    "id": 101,
    "status": "COMPLETED",
    "message": "null",
    "startTime": "2012-04-23T18:22:43.511Z",
    "endTime": "2012-04-23T18:25:43.511Z",
    "deployedBy": "internal_user",
    "progressPct": 100
}

ConfigurationDeployment Members

Member Type Required Description
deployedBy String The user who created the deployment.
endTime String Read-only. The end time of the deployment in ISO 8601 format.
id Integer A unique identifier for each configuration deployment. Use this value for a configDeploymentId parameter in subsequent operations.
message String The status message, in cases where failure of deployment occurs.
progressPct Number The percentage of deployment progress.
startTime String Read-only. The start time of the deployment in ISO 8601 format.
status Enumeration The status of list deployment, either PENDING, RUNNING, COMPLETED, or FAILED.

DnsConfiguration

Contains the IPv4 and IPv6 address information for the primary and secondary DNS recursive servers that are assigned to you. These DNS servers forward traffic from users to Akamai.

Download schema: dns-configuration.json

Sample GET response:

{
    "ipv4Addrs": {
        "primary": "192.168.10.10",
        "secondary": "192.160.10.20"
    },
    "ipv6Addrs": {
        "primary": "2021:D32::88/124",
        "secondary": "2021:D32::89/124"
    }
}

DnsConfiguration Members

Member Type Required Description
ipv4Addrs DnsConfiguration.ipv4Addrs Encapsulates data about IPv4 DNS configuration.
ipv6Addrs DnsConfiguration.ipv6Addrs Encapsulates data about IPv6 DNS configuration.

DnsConfiguration.ipv4Addrs  

Encapsulates data about IPv4 DNS configuration.

Member Type Required Description
primary String Primary IPv4 Address.
secondary String Secondary IPv4 Address.

DnsConfiguration.ipv6Addrs  

Encapsulates data about IPv6 DNS configuration.

Member Type Required Description
primary String Primary IPv6 address.
secondary String Secondary IPv6 address.

Certificate

Encapsulates data about a TLS certificate.

Download schema: certificate.json

Sample GET response:

{
    "certificateId": 5001,
    "fingerprint": "D1:AB:01:1C:A1:DE:CA:FC:0F:FE:E1:5F:EA:51:B1:E0",
    "issuedDate": "2016-10-11T00:15:38+0000",
    "expiredDate": "2019-10-11T00:15:38+0000",
    "status": "PENDING_ACTIVATION",
    "certificate": "-----BEGIN CERTIFICATE-----\nMIIDpjCCAo6gAwIBAgIIf8Ji8Dm81ko ... TXV0qe8SEF+C5n4=\n-----END CERTIFICATE-----\n",
    "caMode": "AKAMAI"
}

Certificate Members

Member Type Required Description
caMode Enumeration Mode of the certificate, either CUSTOMER or AKAMAI.
certificate String Value of the certificate in PEM format: ASCII, base64-encoded text starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----.
certificateId Number Read-only. A unique identifier for each certificate.
certificateRequest String Value for the certificate signing request (CSR): ASCII, base64-encoded text starting with -----BEGIN CERTIFICATE REQUEST----- and ending with -----END CERTIFICATE REQUEST-----.
createdBy String Read-only. Name of the user who created this Certificate object.
createdDate String Read-only. ISO–8601 timestamp marking when this Certificate object was created.
expiredDate String Read-only. ISO–8601 timestamp marking when the certificate is set to expire.
fingerprint String Read-only. The certificate’s hexadecimal fingerprint.
issuedDate String Read-only. ISO–8601 timestamp marking when the certificate was issued.
modifiedBy String Read-only. Name of the user who most recently modified this Certificate object. If the object was not modified since first being created, the value matches createdBy.
modifiedDate String Read-only. ISO–8601 timestamp marking when this Certificate object was last modified. If the object was not modified since first being created, the value matches createdDate.
status Enumeration Read-only. Certificate deployment status, either CREATING, INCOMPLETE, UPDATING, PENDING_DOWNLOAD, PENDING_DISTRIBUTION, PENDING_ACTIVATION, ACTIVATING, ACTIVATED, DEACTIVATING, DEACTIVATED, or EXPIRED.

Last modified: 4/10/2018