Enterprise Threat Protector Configuration API Data

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

The data schema tables below list membership requirements as follows:

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

Schemas

Site

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

Sample GET:

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

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. Possible enum values: ADDR_TYPE_IPV4, 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.

Sample GET:

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

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.

Sample GET:

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

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.

Sample GET:

{
    "domains": [
        "www.google.com",
        "www.facebook.com"
    ],
    "ipAddrs": [
        "192.169.19.29",
        "180.220.11.110"
    ],
    "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.

Sample GET:

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

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 or domain. Possible enum values: LIST_TYPE_DOMAIN, LIST_TYPE_IP.
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.

Sample GET:

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

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 or domain. Possible enum values: LIST_TYPE_DOMAIN, LIST_TYPE_IP.
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.

Sample GET:

{
    "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.

Sample GET:

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

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.

Sample GET:

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

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. Possible enum values: COMPLETED, FAILED, PENDING, RUNNING.

ConfigurationDeployment

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

Sample GET:

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

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 configuration deployment. Possible enum values: COMPLETED, FAILED, PENDING, RUNNING.

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.

Sample GET:

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

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.

Last modified: 8/18/2017