Delivery Service¶
GET /api/1.1/deliveryservices.json
Retrieves all delivery services. See also Using Traffic Ops - Delivery Service.
Authentication Required: Yes
Response Properties
Parameter Type Description active
bool true if active, false if inactive (inact). cacheurl
string Cache URL rule to apply to this delivery service. protocol
string ccrDnsTtl
string The TTL of the DNS response for A or AAAA queries requesting the IP address of the tr. host. checkPath
string The path portion of the URL to check this deliveryservice for health. dnsBypassIp
string The IPv4 IP to use for bypass on a DNS deliveryservice - bypass starts when serving more than the globalMaxMbps traffic on this deliveryservice. dnsBypassIp6
string The IPv6 IP to use for bypass on a DNS deliveryservice - bypass starts when serving more than the globalMaxMbps traffic on this deliveryservice. dnsBypassTtl
string The TTL of the DNS bypass response. dscp
string The Differentiated Services Code Point (DSCP) with which to mark downstream (EDGE -> customer) traffic. edgeHeaderRewrite
string The EDGE header rewrite actions to perform. geoLimit
string
- 0: None - no limitations
- 1: Only route on CZF file hit
- 2: Only route on CZF hit or when from USA
Note that this does not prevent access to content or makes content secure; it just prevents routing to the content by Traffic Router.
globalMaxMbps
string The maximum global bandwidth allowed on this deliveryservice. If exceeded, the traffic routes to the dnsByPassIp* for DNS deliveryservices and to the httpBypassFqdn for HTTP deliveryservices. globalMaxTps
string The maximum global transactions per second allowed on this deliveryservice. When this is exceeded traffic will be sent to the dnsByPassIp* for DNS deliveryservices and to the httpBypassFqdn for HTTP deliveryservices headerRewrite
string The EDGE header rewrite actions to perform. httpBypassFqdn
string The HTTP destination to use for bypass on an HTTP deliveryservice - bypass starts when serving more than the globalMaxMbps traffic on this deliveryservice. id
string The deliveryservice id (database row number). infoUrl
string Use this to add a URL that points to more information about that deliveryservice. ipv6RoutingEnabled
bool false: send IPv4 address of Traffic Router to client on HTTP type del. longDesc
string Description field 1. longDesc1
string Description field 2. longDesc2
string Description field 2. matchList
array Array of matchList hashes. >>type
string The type of MatchList (one of :ref:to-api-types use_in_table=’regex’). >>setNumber
string The set Number of the matchList. >>pattern
string The regexp for the matchList. maxDnsAnswers
string The maximum number of IPs to put in a A/AAAA response for a DNS deliveryservice (0 means all available). missLat
string The latitude to use when the client cannot be found in the CZF or the Geo lookup. missLong
string The longitude to use when the client cannot be found in the CZF or the Geo lookup. midHeaderRewrite
string The MID header rewrite actions to perform. multiSiteOrigin
string Is the Multi Site Origin feature enabled for this delivery service. See rl-mulit-site-originorgServerFqdn
string The origin server base URL (FQDN when used in this instance, includes the protocol (http:// or https://) for use in retrieving content from the origin server. profileDescription
string The description of the Traffic Router Profile with which this deliveryservice is associated. profileName
string The name of the Traffic Router Profile with which this deliveryservice is associated. qstringIgnore
string
- 0: no special query string handling; it is for use in the cache-key and pass up to origin.
- 1: ignore query string in cache-key, but pass it up to parent and or origin.
- 2: drop query string at edge, and do not use it in the cache-key.
regexRemap
string Regex Remap rule to apply to this delivery service at the Edge tier. remapText
string Additional raw remap line text. signed
bool
- false: token based auth (see :ref:token-based-auth) is not enabled for this deliveryservice.
- true: token based auth is enabled for this deliveryservice.
rangeRequestHandling
string How to treat range requests:
- 0 Do not cache (ranges requested from files taht are already cached due to a non range request will be a HIT)
- 1 Use the background_fetch plugin.
- 2 Use the cache_range_requests plugin.
type
string The type of this deliveryservice (one of :ref:to-api-types use_in_table=’deliveryservice’). xmlId
string Unique string that describes this deliveryservice. Response Example
{ "response": [ { "active": true, "cacheurl": null, "protocol": "0", "ccrDnsTtl": "3600", "checkPath": "/crossdomain.xml", "dnsBypassIp": "", "dnsBypassIp6": null, "dnsBypassTtl": null, "dscp": "40", "geoLimit": "0", "globalMaxMbps": "0", "globalMaxTps": "0", "headerRewrite": "add-header X-Powered-By: KABLETOWN [L]", "edgeHeaderRewrite": "add-header X-Powered-By: KABLETOWN [L]", "midHeaderRewrite": null, "httpBypassFqdn": "", "rangeRequestHandling": "0", "id": "12", "infoUrl": "", "ipv6RoutingEnabled": false, "longDesc": "long_desc", "longDesc1": "long_desc_1", "longDesc2": "long_desc_2", "matchList": [ { "type": "HOST_REGEXP", "setNumber": "0", "pattern": ".*\\.images\\..*" } ], "maxDnsAnswers": "0", "missLat": "41.881944", "missLong": "-87.627778", "orgServerFqdn": "http://cdl.origin.kabletown.net", "profileDescription": "Comcast Content Router for cdn2.comcast.net", "profileName": "EDGE_CDN2", "qstringIgnore": "0", "remapText": null, "regexRemap": null, "signed": true, "type": "HTTP", "xmlId": "cdl-c2" }, { .. }, { .. } ], "version": "1.1" }
GET /api/1.1/deliveryservices/:id.json
Retrieves a specific delivery service. See also Using Traffic Ops - Delivery Service.
Authentication Required: Yes
Response Properties
Parameter Type Description active
bool true if active, false if inactive (inact). cacheurl
string Cache URL rule to apply to this delivery service. protocol
string ccrDnsTtl
string The TTL of the DNS response for A or AAAA queries requesting the IP address of the tr. host. checkPath
string The path portion of the URL to check this deliveryservice for health. dnsBypassIp
string The IPv4 IP to use for bypass on a DNS deliveryservice - bypass starts when serving more than the globalMaxMbps traffic on this deliveryservice. dnsBypassIp6
string The IPv6 IP to use for bypass on a DNS deliveryservice - bypass starts when serving more than the globalMaxMbps traffic on this deliveryservice. dnsBypassTtl
string The TTL of the DNS bypass response. dscp
string The Differentiated Services Code Point (DSCP) with which to mark downstream (EDGE -> customer) traffic. edgeHeaderRewrite
string The EDGE header rewrite actions to perform. geoLimit
string
- 0: None - no limitations
- 1: Only route on CZF file hit
- 2: Only route on CZF hit or when from USA
Note that this does not prevent access to content or makes content secure; it just prevents routing to the content by Traffic Router.
globalMaxMbps
string The maximum global bandwidth allowed on this deliveryservice. If exceeded, the traffic routes to the dnsByPassIp* for DNS deliveryservices and to the httpBypassFqdn for HTTP deliveryservices. globalMaxTps
string The maximum global transactions per second allowed on this deliveryservice. When this is exceeded traffic will be sent to the dnsByPassIp* for DNS deliveryservices and to the httpBypassFqdn for HTTP deliveryservices headerRewrite
string The EDGE header rewrite actions to perform. httpBypassFqdn
string The HTTP destination to use for bypass on an HTTP deliveryservice - bypass starts when serving more than the globalMaxMbps traffic on this deliveryservice. id
string The deliveryservice id (database row number). infoUrl
string Use this to add a URL that points to more information about that deliveryservice. ipv6RoutingEnabled
bool false: send IPv4 address of Traffic Router to client on HTTP type del. longDesc
string Description field 1. longDesc1
string Description field 2. longDesc2
string Description field 2. matchList
array Array of matchList hashes. >>type
string The type of MatchList (one of :ref:to-api-types use_in_table=’regex’). >>setNumber
string The set Number of the matchList. >>pattern
string The regexp for the matchList. maxDnsAnswers
string The maximum number of IPs to put in a A/AAAA response for a DNS deliveryservice (0 means all available). missLat
string The latitude to use when the client cannot be found in the CZF or the Geo lookup. missLong
string The longitude to use when the client cannot be found in the CZF or the Geo lookup. midHeaderRewrite
string The MID header rewrite actions to perform. orgServerFqdn
string The origin server base URL (FQDN when used in this instance, includes the protocol (http:// or https://) for use in retrieving content from the origin server. profileDescription
string The description of the Traffic Router Profile with which this deliveryservice is associated. profileName
string The name of the Traffic Router Profile with which this deliveryservice is associated. qstringIgnore
string
- 0: no special query string handling; it is for use in the cache-key and pass up to origin.
- 1: ignore query string in cache-key, but pass it up to parent and or origin.
- 2: drop query string at edge, and do not use it in the cache-key.
regexRemap
string Regex Remap rule to apply to this delivery service at the Edge tier. remapText
string Additional raw remap line text. signed
bool
- false: token based auth (see :ref:token-based-auth) is not enabled for this deliveryservice.
- true: token based auth is enabled for this deliveryservice.
rangeRequestHandling
string How to treat range requests:
- 0 Do not cache (ranges requested from files taht are already cached due to a non range request will be a HIT)
- 1 Use the background_fetch plugin.
- 2 Use the cache_range_requests plugin.
type
string The type of this deliveryservice (one of :ref:to-api-types use_in_table=’deliveryservice’). xmlId
string Unique string that describes this deliveryservice. Response Example
{ "response": [ { "active": true, "cacheurl": null, "protocol": "0", "ccrDnsTtl": "3600", "checkPath": "/crossdomain.xml", "dnsBypassIp": "", "dnsBypassIp6": null, "dnsBypassTtl": null, "dscp": "40", "geoLimit": "0", "globalMaxMbps": "0", "globalMaxTps": "0", "headerRewrite": "add-header X-Powered-By: KABLETOWN [L]", "edgeHeaderRewrite": "add-header X-Powered-By: KABLETOWN [L]", "midHeaderRewrite": null, "httpBypassFqdn": "", "rangeRequestHandling": "0", "id": "12", "infoUrl": "", "ipv6RoutingEnabled": false, "longDesc": "long_desc", "longDesc1": "long_desc_1", "longDesc2": "long_desc_2", "matchList": [ { "type": "HOST_REGEXP", "setNumber": "0", "pattern": ".*\\.images\\..*" } ], "maxDnsAnswers": "0", "missLat": "41.881944", "missLong": "-87.627778", "orgServerFqdn": "http://cdl.origin.kabletown.net", "profileDescription": "Comcast Content Router for cdn2.comcast.net", "profileName": "EDGE_CDN2", "qstringIgnore": "0", "remapText": null, "regexRemap": null, "signed": true, "type": "HTTP", "xmlId": "cdl-c2" } ], "version": "1.1" }
Health¶
GET /api/1.1/deliveryservices/:id/capacity.json
Retrieves the capacity percentages of a delivery service.
Authentication Required: Yes
Request Route Parameters
Name Required Description id yes delivery service id. Response Properties
Parameter Type Description availablePercent
number The percentage of server capacity assigned to the delivery service that is available. unavailablePercent
number The percentage of server capacity assigned to the delivery service that is unavailable. utilizedPercent
number The percentage of server capacity assigned to the delivery service being used. maintenancePercent
number The percentage of server capacity assigned to the delivery service that is down for maintenance. Response Example
{ "response": { "availablePercent": 89.0939840205533, "unavailablePercent": 0, "utilizedPercent": 10.9060020300395, "maintenancePercent": 0.0000139494071146245 }, "version": "1.1" }
GET /api/1.1/deliveryservices/:id/routing.json
Retrieves the routing method percentages of a delivery service.
Authentication Required: Yes
Request Route Parameters
Name Required Description id yes delivery service id. Response Properties
Parameter Type Description staticRoute
number The percentage of Traffic Router responses for this deliveryservice satisfied with pre-configured DNS entries. miss
number The percentage of Traffic Router responses for this deliveryservice that were a miss (no location available for client IP). geo
number The percentage of Traffic Router responses for this deliveryservice satisfied using 3rd party geo-IP mapping. err
number The percentage of Traffic Router requests for this deliveryservice resulting in an error. cz
number The percentage of Traffic Router requests for this deliveryservice satisfied by a CZF hit. dsr
number The percentage of Traffic Router requests for this deliveryservice satisfied by sending the client to the overflow 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/deliveryservices/:id/edge/metric_types/:metric/start_date/:start/end_date/:end/\ interval/:interval/window_start/:window_start/window_end/:window_end.json
Retrieves edge summary metrics of all cache groups for a delivery service.
Authentication Required: Yes
Request Route Parameters
Name Required Description id
yes The delivery service id. metric
yes One of the following: “kbps”, “tps_total”, “tps_2xx”, “tps_3xx”, “tps_4xx”, “tps_5xx”. start
yes UNIX time, yesterday, now. end
yes UNIX time, yesterday, now. interval
yes > 10 window_start
yes UNIX time, yesterday, now. window_end
yes UNIX time, yesterday, now. Request Query Parameters
Name Required Description summary
no Flag used to return summary metrics only. Response Content Type: application/json
Response Properties
Parameter Type Description ninetyFifth
number average
int min
number max
number total
number Response Example
{ "response": { "ninetyFifth": 183982091.479, "average": 97444798, "min": 31193860.46233, "max": 205772883.28367, "total": 3643217414091.13 }, "version": "1.1" }
GET /api/1.1/usage/deliveryservices/:ds/cachegroups/:name/metric_types/:metric/start_date/:start_date/\ end_date/:end_date/interval/:interval.json
Retrieves edge metrics of one or all locations (cache groups) for a delivery service.
Authentication Required: Yes
Request Route Parameters
Name Required Description id
yes The delivery service id. cache_group_name
yes name, all. usage_type
yes One of the following: “kbps”, “tps_total”, “tps_2xx”, “tps_3xx”, “tps_4xx”, “tps_5xx”. start
yes UNIX time, yesterday, now. end
yes UNIX time, yesterday, now. interval
yes > 10 Response Properties
Parameter Type Description deliveryServiceName
string statName
string deliveryServiceId
string interval
int series
array >>timeBase
int >>samples
array end
string elapsed
number cdnName
string hostName
string summary
hash >``ninetyFifth`` number >``average`` int >``min`` number >``max`` number >``total`` number cacheGroupName
string start
string Response Example
TBD
GET /api/1.1/cdns/peakusage/:peak_usage_type/deliveryservice/:ds/cachegroup/:name/start_date/:start/\ end_date/:end/interval/:interval.json
Authentication Required: Yes
Response Properties
Parameter Type Description TotalGBytesServedSinceStart
number >>item
number >>item
number >>item
number >>item
number >>item
number >>item
number Response Example
TBD
GET /api/1.1/deliveryservices/:id/:server_type/metrics/:metric_type/:start/:end.json
Retrieves detailed and summary metrics for MIDs or EDGEs for a delivery service.
Authentication Required: No
Request Route Parameters
Name Required Description id
yes The delivery service id. server_type
yes EDGE or MID. metric_type
yes One of the following: “kbps”, “tps_total”, “tps_2xx”, “tps_3xx”, “tps_4xx”, “tps_5xx”. start
yes UNIX time, yesterday, now. end
yes UNIX time, yesterday, now. Response Properties
Parameter Type Description stats
hash >>count
int >>98thPercentile
number >>min
number >>max
number >>5thPercentile
number >>95thPercentile
number >>median
number >>mean
number >>stddev
number >>sum
number data
array >>item
array >>time
number >>value
number label
string Response Example
{ "response": [ { "stats": { "count": 988, "98thPercentile": 16589105.55958, "min": 3185442.975, "max": 17124754.257, "5thPercentile": 3901253.95445, "95thPercentile": 16013210.034, "median": 8816895.576, "mean": 8995846.31741194, "stddev": 3941169.83683573, "sum": 333296106.060112 }, "data": [ [ 1414303200000, 12923518.466 ], [ 1414303500000, 12625139.65 ] ], "label": "MID Kbps" } ], "version": "1.1" }
Server¶
GET /api/1.1/deliveryserviceserver.json
Authentication Required: Yes
Request Query Parameters
Name Required Description page
no The page number for use in pagination. limit
no For use in limiting the result set. Response Properties
Parameter Type Description lastUpdated
array server
string deliveryService
string Response Example
{ "page": 2, "orderby": "deliveryservice", "response": [ { "lastUpdated": "2014-09-26 17:53:43", "server": "20", "deliveryService": "1" }, { "lastUpdated": "2014-09-26 17:53:44", "server": "21", "deliveryService": "1" }, ], "version": "1.1", "limit": 2 }
SSL Keys¶
GET /api/1.1/deliveryservices/xmlId/:xmlid/sslkeys.json
Authentication Required: Yes
Role Required: Admin
Request Route Parameters
Name Required Description xmlId
yes xml_id of the desired delivery service Request Query Parameters
Name Required Description version
no The version number to retrieve Response Properties
Parameter Type Description crt
string base64 encoded crt file for delivery service csr
string base64 encoded csr file for delivery service key
string base64 encoded private key file for delivery service businessUnit
string The business unit entered by the user when generating certs. Field is optional and if not provided by the user will not be in response city
string The city entered by the user when generating certs. Field is optional and if not provided by the user will not be in response organization
string The organization entered by the user when generating certs. Field is optional and if not provided by the user will not be in response hostname
string The hostname entered by the user when generating certs. Field is optional and if not provided by the user will not be in response country
string The country entered by the user when generating certs. Field is optional and if not provided by the user will not be in response state
string The state entered by the user when generating certs. Field is optional and if not provided by the user will not be in response version
string The version of the certificate record in Riak Response Example
{ "version": "1.1", "response": { "certificate": { "crt": "crt", "key": "key", "csr": "csr" }, "businessUnit": "CDN_Eng", "city": "Denver", "organization": "KableTown", "hostname": "foober.com", "country": "US", "state": "Colorado", "version": "1" } }
GET /api/1.1/deliveryservices/hostname/:hostname/sslkeys.json
Authentication Required: Yes
Role Required: Admin
Request Route Parameters
Name Required Description hostname
yes pristine hostname of the desired delivery service Request Query Parameters
Name Required Description version
no The version number to retrieve Response Properties
Parameter Type Description crt
string base64 encoded crt file for delivery service csr
string base64 encoded csr file for delivery service key
string base64 encoded private key file for delivery service businessUnit
string The business unit entered by the user when generating certs. Field is optional and if not provided by the user will not be in response city
string The city entered by the user when generating certs. Field is optional and if not provided by the user will not be in response organization
string The organization entered by the user when generating certs. Field is optional and if not provided by the user will not be in response hostname
string The hostname entered by the user when generating certs. Field is optional and if not provided by the user will not be in response country
string The country entered by the user when generating certs. Field is optional and if not provided by the user will not be in response state
string The state entered by the user when generating certs. Field is optional and if not provided by the user will not be in response version
string The version of the certificate record in Riak Response Example
{ "version": "1.1", "response": { "certificate": { "crt": "crt", "key": "key", "csr": "csr" }, "businessUnit": "CDN_Eng", "city": "Denver", "organization": "KableTown", "hostname": "foober.com", "country": "US", "state": "Colorado", "version": "1" } }
GET /api/1.1/deliveryservices/xmlId/:xmlid/sslkeys/delete.json
Authentication Required: Yes
Role Required: Admin
Request Route Parameters
Name Required Description xmlId
yes xml_id of the desired delivery service Request Query Parameters
Name Required Description version
no The version number to retrieve Response Properties
Parameter Type Description response
string success response Response Example
{ "version": "1.1", "response": "Successfully deleted ssl keys for <xml_id>" }
POST /api/1.1/deliveryservices/sslkeys/generate
Generates SSL crt, csr, and private key for a delivery service
Authentication Required: Yes Role Required: Admin
Response Content Type: application/json
Request Properties
Parameter Type Description key
string xml_id of the delivery service version
string version of the keys being generated hostname
string the pristine hostname of the delivery service country
string state
string city
string org
string unit
boolean Request Example
{ "key": "ds-01", "businessUnit": "CDN Engineering", "version": "3", "hostname": "tr.ds-01.ott.kabletown.com", "certificate": { "key": "some_key", "csr": "some_csr", "crt": "some_crt" }, "country": "US", "organization": "Kabletown", "city": "Denver", "state": "Colorado" }Response Properties
Parameter Type Description response
string response string version
string API version Response Example
{ "version": "1.1", "response": "Successfully created ssl keys for ds-01" }
POST /api/1.1/deliveryservices/sslkeys/add
Allows user to add SSL crt, csr, and private key for a delivery service
Authentication Required: Yes Role Required: Admin
Request Properties
Parameter Type Description key
string xml_id of the delivery service version
string version of the keys being generated csr
string crt
string key
string Request Example
{ "key": "ds-01", "version": "1", "certificate": { "key": "some_key", "csr": "some_csr", "crt": "some_crt" } }Response Properties
Parameter Type Description response
string response string version
string API version Response Example
{ "version": "1.1", "response": "Successfully added ssl keys for ds-01" }