CDN

Health

GET /api/1.1/cdns/health.json

Authentication Required: Yes

Response Properties

Parameter Type Description
totalOnline int Total number of online caches across all CDNs.
totalOffline int Total number of offline caches across all CDNs.
cachegroups array A collection of cache groups.
>online int The number of online caches for the cache group
>offline int The number of offline caches for the cache group.
>name string Cache group name.

Response Example

{
 "response": {
    "totalOnline": 148,
    "totalOffline": 0,
    "cachegroups": [
       {
          "online": 8,
          "offline": 0,
          "name": "us-co-denver"
       },
       {
          "online": 7,
          "offline": 0,
          "name": "us-de-newcastle"
       }
    ]
 },
 "version": "1.1"
}

GET /api/1.1/cdns/:name/health.json

Retrieves the health of all locations (cache groups) for a given CDN.

Authentication Required: Yes

Request Route Parameters

Name Required Description
name yes  

Response Properties

Parameter Type Description
totalOnline int Total number of online caches across the specified CDN.
totalOffline int Total number of offline caches across the specified CDN.
cachegroups array A collection of cache groups.
>online int The number of online caches for the cache group
>offline int The number of offline caches for the cache group.
  • name
string Cache group name.

Response Example

{
 "response": {
    "totalOnline": 148,
    "totalOffline": 0,
    "cachegroups": [
       {
          "online": 8,
          "offline": 0,
          "name": "us-co-denver"
       },
       {
          "online": 7,
          "offline": 0,
          "name": "us-de-newcastle"
       }
    ]
 },
 "version": "1.1"
}

GET /api/1.1/cdns/usage/overview.json

Retrieves the high-level CDN usage metrics.

Authentication Required: Yes

Response Properties

Parameter Type Description
currentGbps number  
tps int  
maxGbps int  

Response Example

{
 "response": {
    "currentGbps": 149.368167,
    "tps": 36805,
    "maxGbps": 3961
 },
 "version": "1.1"
}

GET /api/1.1/cdns/capacity.json

Retrieves the aggregate capacity percentages of all locations (cache groups) for a given CDN.

Response Properties

Parameter Type Description
availablePercent number  
unavailablePercent number  
utilizedPercent number  
maintenancePercent number  

Response Example

{
 "response": {
    "availablePercent": 89.0939840205533,
    "unavailablePercent": 0,
    "utilizedPercent": 10.9060020300395,
    "maintenancePercent": 0.0000139494071146245
 },
 "version": "1.1"
}

Routing

GET /api/1.1/cdns/routing.json

Authentication Required: Yes

Retrieves the aggregate routing percentages of all locations (cache groups) for a given CDN.

Response Properties

Parameter Type Description
staticRoute number Used pre-configured DNS entries.
miss number No location available for client IP.
geo number Used 3rd party geo-IP mapping.
err number Error localizing client IP.
cz number Used Coverage Zone geo-IP mapping.
dsr number Overflow traffic sent to secondary CDN.

Response Example

{
  "response": {
     "staticRoute": 0,
     "miss": 0,
     "geo": 37.8855391018869,
     "err": 0,
     "cz": 62.1144608981131,
     "dsr": 0
  },
  "version": "1.1"
 }

Metrics

GET /api/1.1/cdns/metric_types/:metric/start_date/:start/end_date/:end.json

Authentication Required: Yes

Retrieves edge metrics of one or all locations (cache groups).

Request Route Parameters

Name Required Description
metric_type yes ooff, origin_tps
start yes UNIX time, yesterday, now
end yes UNIX time, yesterday, now

Response Properties

Parameter Type Description
stats hash  
>count string  
>98thPercentile string  
>min string  
>max string  
>5thPercentile string  
>95thPercentile string  
>mean string  
>sum string  
data array  
>time int  
>value number  
label string  

Response Example

{
 "response": [
    {
       "stats": {
          "count": 1,
          "98thPercentile": 1668.03,
          "min": 1668.03,
          "max": 1668.03,
          "5thPercentile": 1668.03,
          "95thPercentile": 1668.03,
          "mean": 1668.03,
          "sum": 1668.03
       },
       "data": [
          [
             1425135900000,
             1668.03
          ],
          [
             1425136200000,
             null
          ]
       ],
       "label": "Origin TPS"
    }
 ],
 "version": "1.1"
}

Domains

GET /api/1.1/cdns/domains.json

Authentication Required: Yes

Response Properties

Parameter Type Description
profileId string  
parameterId string  
profileName string  
profileDescription string  
domainName string  

Response Example

{
 "response": [
    {
       "profileId": "5",
       "parameterId": "404",
       "profileName": "CR_FOO",
       "profileDescription": "Comcast Content Router for foo.domain.net",
       "domainName": "foo.domain.net"
    },
    {
       "profileId": "8",
       "parameterId": "405",
       "profileName": "CR_BAR",
       "profileDescription": "Comcast Content Router for bar.domain.net",
       "domainName": "bar.domain.net"
    }
 ],
 "version": "1.1"
}

Topology

GET /api/1.1/cdns/:cdn_name/configs.json

Retrieves CDN config information.

Authentication Required: Yes

Request Route Parameters

Name Required Description
cdn_name yes Your cdn name or, all

Response Properties

Parameter Type Description
id string  
value string  
name string  
config_file string  

Response Example

TBD

GET /api/1.1/cdns/:name/configs/monitoring.json

Retrieves CDN monitoring information.

Authentication Required: Yes

Request Route Parameters

Name Required Description
name yes  

Response Properties

Parameter Type Description
trafficServers array A collection of Traffic Servers.
>profile string  
>ip string  
>status string  
>cacheGroup string  
>ip6 string  
>port int  
>hostName string  
>fqdn string  
>interfaceName string  
>type string  
>hashId string  
cacheGroups array A collection of cache groups.
>coordinates hash  
>>longitude number  
>>latitude number  
>name string  
config hash  
>hack.ttl int  
>tm.healthParams.polling.url string  
>tm.dataServer.polling.url string  
>health.timepad int  
>tm.polling.interval int  
>health.threadPool int  
>health.polling.interval int  
>health.event-count int  
>tm.crConfig.polling.url number  
>CDN_name number  
trafficMonitors array A collection of Traffic Monitors.
>profile string  
>location string  
>ip string  
>status string  
>ip6 string  
>port int  
>hostName string  
>fqdn string  
deliveryServices array A collection of delivery services.
>xmlId string  
>totalTpsThreshold int  
>status string  
>totalKbpsThreshold int  
profiles array A collection of profiles.
>parameters hash  
>>health.connection.timeout int  
>>health.polling.url string  
>>health.threshold.queryTime int  
>>history.count int  
>>health.threshold.availableBandwidthInKbps string  
>>health.threshold.loadavg string  
>name string  
>type string  

Response Example

TBD

GET /api/1.1/cdns/:name/configs/routing.json

Retrieves CDN routing information.

Authentication Required: Yes

Request Route Parameters

Name Required Description
name yes  

Response Properties

Parameter Type Description
trafficServers array A collection of Traffic Servers.
>profile string  
>ip string  
>status string  
>cacheGroup string  
>ip6 string  
>port int  
>deliveryServices array  
>>xmlId string  
>>remaps array  
>>hostName string  
>fqdn string  
>interfaceName string  
>type string  
>hashId string  
stats hash  
>trafficOpsPath string  
>cdnName string  
>trafficOpsVersion string  
>trafficOpsUser string  
>date int  
>trafficOpsHost string  
cacheGroups array A collection of cache groups.
>coordinates hash  
>>longitude number  
>>latitude number  
>name string  
config hash  
>tld.soa.admin string  
>tcoveragezone.polling.interval int  
>geolocation.polling.interval int  
>tld.soa.expire int  
>coveragezone.polling.url string  
>tld.soa.minimum int  
>geolocation.polling.url string  
>domain_name string  
>tld.ttls.AAAA int  
>tld.soa.refresh int  
>tld.ttls.NS int  
>tld.ttls.SOA int  
>geolocation6.polling.interval int  
>tld.ttls.A int  
>tld.soa.retry int  
>geolocation6.polling.url string  
trafficMonitors array A collection of Traffic Monitors.
>profile string  
>location string  
>ip string  
>status string  
>ip6 string  
>port int  
>hostName string  
>fqdn string  
deliveryServices array A collection of delivery services.
>xmlId string  
>ttl int  
>geoEnabled string  
>coverageZoneOnly boolean  
>matchSets array  
>>protocol string  
>>matchList array  
>>>regex string  
>>>matchType string  
>bypassDestination hash  
>>maxDnsIpsForLocation int  
>>ttl int  
>>type string  
>ttls hash  
>>A int  
>>SOA int  
>>NS int  
>>AAAA int  
>missCoordinates hash  
>>longitude number  
>>latitude number  
>soa hash  
>>admin string  
>>retry int  
>>minimum int  
>>refresh int  
>>expire int  
trafficRouters hash  
>profile int  
>location string  
>ip string  
>status string  
>ip6 string  
>port int  
>hostName string  
>fqdn string  
>apiPort int  

Response Example

::
TBD

DNSSEC Keys

GET /api/1.1/cdns/name/:name/dnsseckeys.json

Gets a list of dnsseckeys for CDN and all associated Delivery Services. Before returning response to user, check to make sure keys aren’t expired. If they are expired, generate new ones. Before returning response to user, make sure dnssec keys for all delivery services exist. If they don’t exist, create them.

Authentication Required: Yes

Role Required: Admin

Request Route Parameters

Name Required Description
name yes  

Response Properties

Parameter Type Description
cdn name/ds xml_id string identifier for ds or cdn
>zsk/ksk array collection of zsk/ksk data
>>ttl string time-to-live for dnssec requests
>>inceptionDate string epoch timestamp for when the keys were created
>>expirationDate string epoch timestamp representing the expiration of the keys
>>private string encoded private key
>>public string encoded public key
>>name string domain name
version string API version

Response Example

{
  "response": {
    "cdn1": {
      "zsk": {
        "ttl": "60",
        "inceptionDate": "1426196750",
        "private": "zsk private key",
        "public": "zsk public key",
        "expirationDate": "1428788750",
        "name": "foo.kabletown.com."
      },
      "ksk": {
        "name": "foo.kabletown.com.",
        "expirationDate": "1457732750",
        "public": "ksk public key",
        "private": "ksk private key",
        "inceptionDate": "1426196750",
        "ttl": "60"
      }
    },
    "ds-01": {
      "zsk": {
        "ttl": "60",
        "inceptionDate": "1426196750",
        "private": "zsk private key",
        "public": "zsk public key",
        "expirationDate": "1428788750",
        "name": "ds-01.foo.kabletown.com."
      },
      "ksk": {
        "name": "ds-01.foo.kabletown.com.",
        "expirationDate": "1457732750",
        "public": "ksk public key",
        "private": "ksk private key",
        "inceptionDate": "1426196750"
      }
    },
    ... repeated for each ds in the cdn
  },
  "version": "1.1"
}

GET /api/1.1/cdns/name/:name/dnsseckeys/delete.json

Delete dnssec keys for a cdn and all associated delivery services.

Authentication Required: Yes

Role Required: Admin

Request Route Parameters

Name Required Description
name yes name of the CDN for which you want to delete dnssec keys

Response Properties

Parameter Type Description
response string success response

Response Example

{
  "version": "1.1",
  "response": "Successfully deleted dnssec keys for <cdn>"
}

POST /api/1.1/deliveryservices/dnsseckeys/generate

Generates zsk and ksk keypairs for a cdn and all associated delivery services.

Authentication Required: Yes

Role Required: Admin

Request Properties

Parameter Type Description
key string name of the cdn
name string domain name of the cdn
ttl string time to live
kskExpirationDays string Expiration (in days) for the key signing keys
zskExpirationDays string Expiration (in days) for the zone signing keys

Request Example

{
  "key": "cdn1",
  "name" "ott.kabletown.com",
  "ttl": "60",
  "kskExpirationDays": "365",
  "zskExpirationDays": "90"
}

Response Properties

Parameter Type Description
response string response string
version string API version

Response Example

{
  "version": "1.1",
  "response": "Successfully created dnssec keys for cdn1"
}