loading

Media Delivery Reports API v1

Monitor traffic for your Adaptive Media Delivery, Download Delivery, Akamai Cloud Embed, and Object Delivery solutions.

Learn more:


Overview

Media Delivery Reports let you monitor and identify key trends of your Akamai Media Delivery solutions, including Adaptive Media Delivery, Download Delivery, Object Delivery and Akamai Cloud Embed (formerly Wholesale Delivery). These reports offer valuable insights to enhance your business by optimizing your streaming content, software downloads, and object delivery.

Relation to the Media Services Reports API

The operations in this API replace the operations of the same name in the Media Services Reports API. Matching operations for these reports in the Media Services Reports API have been deprecated:

  • Adaptive Media Delivery Reports.
  • Download Delivery Reports.
  • Wholesale Delivery Reports. These are the “Akamai Cloud Embed” operations in the Media Delivery Reports API.
  • Object Delivery Reports.
  • RTMP Media Delivery Reports.

Use the reports’ operations discussed here instead.

Get started

Before using the Media Delivery Reports API for the first time:

  • Contact your Akamai representative to enable it for your account.

To configure this API for the first time:

  • Review Get Started with APIs for details on how to set up client tokens to access any Akamai API. These tokens appear as custom hostnames that look like this: https://akzz-XXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX.luna.akamaiapis.net.

  • To enable this API, choose the API service named Media Delivery Reports, and set the access level to READ-ONLY.

  • You need to include an Authorization header in all requests:

    Authorization: EG1-HMAC-SHA256 client_token=[value];access_token=[value];timestamp=[value];nonce=[value];signature=[value]
    

    This is standard RFC 2616, with proprietary specifics. Here is an example of an HTTP authorization header with line breaks added for readability:

    Authorization: EG1-HMAC-SHA256 client_token=akaa-275ca6de04b11b91-cf46074bf3b52950;
    access_token=akaa-d6cfbdb2d0594ae4-ad000cf3a5473a08;timestamp=20130817T02:49:13+0000;
    nonce=dd9957e2-4fe5-48ca-8d32-16a772ac6d8f;signature=Q3uWyssCz9qsNxekOX+PXP0WrtGT+J5qd6ssN1UmUmw=
    
  • UTF–8 encode all request parameter values.

Rate limiting

The Media Delivery Reports API imposes a rate limiting constraint of 20 requests per minute to protect the system from receiving more requests than it can handle, and to ensure an equitable distribution of the system resources. When calling successive operations as part of a loop, you need to consider that exceeding the limit results in a 429 error response.

The API responds with these HTTP headers to provide context over how close it is getting to the limit:

  • X-RateLimit-Limit: 20 requests per minute.

  • X-RateLimit-Remaining: Number of remaining requests allowed during the period.

  • X-RateLimit-Next: Indicates when the client may issue another request after having exhausted the number of allowed requests for the time period.

Sample Usage: Steps to get data

To query a report, you need to obtain data store metadata with information on the metrics and dimensions grouped together. You can then choose the combinations to create customized reports tailored to your specifications.

Step 1: List data stores

A data store is a collection of dimensions and metrics stored in a database that you can use to create a subset and configure reports suited to your requirements. Data store details help you determine the combination of dimensions and metrics to query.

  • Run a “List {product name} data stores” operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions. This sample request and response use the List Adaptive Media Delivery data stores operation:

GET: /media-delivery-reports/v1/adaptive-media-delivery/data-stores

[
    {
        "id": 44,
        "name": "Offload AMD",
        "type": "standard",
        "description": "Provides origin hits and origin offload metrics for a chosen dimension.",
        "dimensions": [
            {
                "id": 1,
                "name": "Time",
                "description": "Indicates the time a requestor consumed content. Akamai automatically sets this dimension.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 2,
                "name": "CPCode",
                "description": "A Content Provider code (CP code) is an identifier assigned to a contract for use in reporting, billing, and monitoring traffic served.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 18,
                "name": "Content Type",
                "description": "The value of the HTTP content type header served to the client.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {...}
        ],
        "metrics": [
            {
                "id": 4,
                "name": "Edge Hits",
                "type": "count",
                "description": "All hits to the edge servers by end users.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 5,
                "name": "Edge Object Volume",
                "unit": "bytes",
                "type": "volume",
                "description": "Size of the actual content transferred to the client.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 6,
                "name": "Edge Overhead Volume",
                "unit": "bytes",
                "type": "volume",
                "description": "Total number of protocol component bytes that include request bytes, TCP/IP overhead bytes, Ethernet bytes, and UDP/IP overhead bytes served from the edge server to the end user.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {...}
        ],
        "aggregationInSeconds": 86400,
        "purgeIntervalInDays": 90,
        "maxQueryDurationInMinutes": 44640
    }
]

Step 2: Get the data

Once you’ve pulled the id values assigned to your desired metrics and dimensions, use them to get the desired report data.

  • Run a “get data” operation and include strings of your metric and dimension id values in the query string for the operation. Here is an example of the Get Adaptive Media Delivery data request that shows how to fetch Edge Volume by Time for a specific CP code for the period 12/01/2015:00:00 to 12/01/2015:05:00. It includes the dimension ID 1 that represents Time, and metric ID 107 that represents Edge Volume for CP code 12345.

GET: /media-delivery-reports/v1/adaptive-media-delivery/data?startDate=12/01/2015:00:00&endDate=12/01/2015:05:00&cpcodes=12345&ipVersion=ipv4&limit=1000&offset=0&deliveryOption=http&deliveryFormat=hls&deliveryType=live&dimensions=1&metrics=107

[
    {
        "columns": [
            {
                "type": "dimension",
                "name": "Time",
                "description": "time",
                "index": 0
            },
            {
                "type": "metric",
                "name": "Edge Volume",
                "description": "Edge Volume",
                "index": 1,
                "aggregate": "191.79",
                "peak": "101.09",
                "unit": "GB"
            }
        ],
        "rows": [
            [ "1448931300", "101.09" ],
            [ "1448937600", "10.06" ],
            [ "1448943000", "80.64" ]
        ],
        "metaData": {
            "aggregationInSeconds": 300,
            "limit": 1000,
            "startTimeInEpoch": 1448928000,
            "hasMoreData": false,
            "timeZone": "GMT",
            "offset": 0,
            "reportPack": "Test report pack",
            "endTimeInEpoch": 1448946000
        }
    }
]

Concepts

These are the conceptual objects you’ll see when interacting with the Media Delivery Reports API:

  • Adaptive Media Delivery Reports: These reports provide an analysis of the delivery of HTTP adaptive streaming formats such as HLS, HDS, Smooth and MPEG-DASH, from third party origins and Akamai Media Services alike.

  • Download Delivery Reports: These reports provide an analysis of large object delivery. This includes media downloads, and progressively downloaded content.

  • Object Delivery Reports: These reports provide an analysis of delivery content such as images, CSS, JS, and other files. It includes files under 100 MB in size, excluding objects of content type: text/html.

  • Akamai Cloud Embed Reports: These reports provide an analysis of the delivery of cloud hosted content. Akamai Cloud Embed was formerly known as Wholesale Delivery.

  • RTMP Media Delivery Reports: These reports provide monitoring and analysis of traffic, performance and availability for RTMP based media delivery streams.

  • HTTP Content Delivery Reports: These provide report services for the HTTP Content Delivery service, including traffic information.

  • HTTP Downloads/File Downloads Reports: These reports provide an analysis of file transfer performed through the HTTP Downloads (File Downloads) application.

  • Object Caching Reports: This allows you to hold files smaller than 100 MB in an Edge cache to allow for quicker delivery. These reports offer data regarding the objects and the total amount of data that held in the Edge cache.

  • Data Stores: A data store stores a collection of dimensions and metrics in a database that the system can use to create reports.

  • Real-time Data: The system derives this near-accurate data from sample data sets, and it’s available at a latency of under 15 minutes.

  • Historical Data: Most data for Media Delivery Reports is historic data, extracted over a 24-hour time period. It’s available for traffic, performance, availability, URLs, and unique viewers.

Resources

This section provides details on the API’s various operations.

API summary

Download the RAML descriptors for this API.

Operation Method Endpoint
Adaptive Media Delivery  
List Adaptive Media Delivery data stores GET /media-delivery-reports/v1/adaptive-media-delivery/data-stores
Get an Adaptive Media Delivery data store GET /media-delivery-reports/v1/adaptive-media-delivery/data-stores/{dataStoreId}
Get Adaptive Media Delivery data GET /media-delivery-reports/v1/adaptive-media-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,deliveryOption,deliveryType,deliveryFormat,mediaAcceleration,mediaEncryption,ipVersion,enableCPCodeName}
Get Adaptive Media Delivery real-time data GET /media-delivery-reports/v1/adaptive-media-delivery/realtime-data{?dimensions,metrics,startDate,endDate,limit,offset,reduce,aggregation}
Download Delivery  
List Download Delivery data stores GET /media-delivery-reports/v1/download-delivery/data-stores
Get a Download Delivery data store GET /media-delivery-reports/v1/download-delivery/data-stores/{dataStoreId}
Get Download Delivery data GET /media-delivery-reports/v1/download-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,deliveryOption,mediaAcceleration,ipVersion,enableCPCodeName}
Get Download Delivery real-time data GET /media-delivery-reports/v1/download-delivery/realtime-data{?dimensions,metrics,startDate,endDate,limit,offset,reduce,aggregation}
Object Delivery  
List Object Delivery data stores GET /media-delivery-reports/v1/object-delivery/data-stores
Get an Object Delivery data store GET /media-delivery-reports/v1/object-delivery/data-stores/{dataStoreId}
Get Object Delivery data GET /media-delivery-reports/v1/object-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,filterParams,sortParams,enableCPCodeName,deliveryOption}
Akamai Cloud Embed (formerly Wholesale Delivery)  
List Akamai Cloud Embed data stores GET /media-delivery-reports/v1/wholesale-delivery/data-stores
Get an Akamai Cloud Embed data store GET /media-delivery-reports/v1/wholesale-delivery/data-stores/{dataStoreId}
Get Akamai Cloud Embed data GET /media-delivery-reports/v1/wholesale-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,deliveryOption,enableCPCodeName}
Get Akamai Cloud Embed Real-time data GET /media-delivery-reports/v1/wholesale-delivery/data/realtime{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,enableCPCodeName}
RTMP Media Delivery  
List RTMP Media Delivery data stores GET /media-delivery-reports/v1/rtmp-media-delivery/data-stores
Get an RTMP Media Delivery data store GET /media-delivery-reports/v1/rtmp-media-delivery/data-stores/{dataStoreId}
Get RTMP Media Delivery data GET /media-delivery-reports/v1/rtmp-media-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,deliveryType,enableCPCodeName}
HTTP Content Delivery  
List HTTP Content Delivery Downloads data stores GET /media-delivery-reports/v1/delivery/httpcd/data-stores
Get an HTTP Content Delivery Downloads data store GET /media-delivery-reports/v1/delivery/httpcd/data-stores/{dataStoreId}
List HTTP Content Delivery metrics GET /media-delivery-reports/v1/delivery/httpcd/metrics
List HTTP Content Delivery dimensions GET /media-delivery-reports/v1/delivery/httpcd/dimensions
Get HTTP Content Delivery data GET /media-delivery-reports/v1/delivery/httpcd/data{?dimensions,metrics,startDate,endDate,cpcodes,aggregation,filterParams,sortParams,enableCPCodeName}
HTTP Downloads/File Downloads  
List HTTP Downloads/File Downloads data stores GET /media-delivery-reports/v1/delivery/httpdl/data-stores
Get an HTTP Downloads/File Downloads data store GET /media-delivery-reports/v1/delivery/httpdl/data-stores/{dataStoreId}
List HTTP Downloads/File Downloads metrics GET /media-delivery-reports/v1/delivery/httpdl/metrics
List HTTP Downloads/File Downloads dimensions GET /media-delivery-reports/v1/delivery/httpdl/dimensions
Get HTTP Downloads/File Downloads data GET /media-delivery-reports/v1/delivery/httpdl/data{?startDate,endDate,cpcodes,enableCPCodeName}
Object Caching  
List Object Caching Delivery Data data stores GET /media-delivery-reports/v1/delivery/ocp/data-stores
Get an Object Caching Delivery Data data store GET /media-delivery-reports/v1/delivery/ocp/data-stores/{dataStoreId}
List Object Caching metrics GET /media-delivery-reports/v1/delivery/ocp/metrics
List Object Caching dimensions GET /media-delivery-reports/v1/delivery/ocp/dimensions
Get Object Caching data GET /media-delivery-reports/v1/delivery/ocp/data{?startDate,endDate,cpcodes,trafficOption,enableCPCodeName}

List Adaptive Media Delivery data stores

A data store is a collection of dimensions and metrics that you can use to configure a custom report. Adaptive Media Delivery’s “report pack” has its own unique data store. You can’t combine its dimensions and metrics with those in the report pack for another product. A response for this operation can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/list-data-stores-adaptive-media-delivery-200.json file.

GET /media-delivery-reports/v1/adaptive-media-delivery/data-stores

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 14,
    "name": "Statistics",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits (Edge/Midgress/Origin), Volume (Edge/Midgress/Origin), Offload, and Edge Responses are available by Time and CP Code dimensions. Data is available at a minimum granularity of 5 minutes.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 2,
            "name": "Edge + Midgress",
            "unit": "GB",
            "type": "volume",
            "description": "Sum of Edge And Midgress Volume",
            "dataType": "VOLUME",
            "helpText": "Sum of Edge And Midgress Volume",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 4,
            "name": "Edge Hits",
            "type": "count",
            "description": "All hits to the edge servers from the end users.",
            "dataType": "COUNT",
            "helpText": "All hits to the edge servers from the end users.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 5,
            "name": "Edge Object Volume",
            "unit": "bytes",
            "type": "volume",
            "description": "Size of the actual content (Object body) transferred to the client.",
            "dataType": "VOLUME",
            "helpText": "Size of the actual content (Object body) transferred to the client.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 300,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}

Get an Adaptive Media Delivery data store

This fetches a list of dimensions and metrics used with AMD, as well as the aggregation interval, purge interval, maximum allowed query interval, and other details for a data store you specify. Responses can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/get-data-store-adaptive-media-delivery-200.json file.

GET /media-delivery-reports/v1/adaptive-media-delivery/data-stores/{dataStoreId}

Sample: /media-delivery-reports/v1/adaptive-media-delivery/data-stores/307

Parameter Type Sample Description
URL path parameters
dataStoreId Integer 307 The ID of the data store. Uniquely identifies it.

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 14,
    "name": "Statistics",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits (Edge/Midgress/Origin), Volume (Edge/Midgress/Origin), Offload, and Edge Responses are available by Time and CP Code dimensions. Data is available at a minimum granularity of 5 minutes.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 2,
            "name": "Edge + Midgress",
            "unit": "GB",
            "type": "volume",
            "description": "Sum of Edge And Midgress Volume",
            "dataType": "VOLUME",
            "helpText": "Sum of Edge And Midgress Volume",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 4,
            "name": "Edge Hits",
            "type": "count",
            "description": "All hits to the edge servers from the end users.",
            "dataType": "COUNT",
            "helpText": "All hits to the edge servers from the end users.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 5,
            "name": "Edge Object Volume",
            "unit": "bytes",
            "type": "volume",
            "description": "Size of the actual content (Object body) transferred to the client.",
            "dataType": "VOLUME",
            "helpText": "Size of the actual content (Object body) transferred to the client.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 300,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}
  1. Run a List Adaptive Media Delivery data stores operation and pull the id value assigned to the desired data store.

  2. Run this operation and include the id value as the {dataStoreId}.

Get Adaptive Media Delivery data

Retrieves data for Adaptive Media Delivery using parameters you specify.

GET /media-delivery-reports/v1/adaptive-media-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,deliveryOption,deliveryType,deliveryFormat,mediaAcceleration,mediaEncryption,ipVersion,enableCPCodeName}

Sample: /media-delivery-reports/v1/adaptive-media-delivery/data?dimensions=1%2C2%2C3&metrics=1%2C2%2C3&startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&cpcodes=12345%2C67890&limit=300&offset=0&aggregation=month&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%20%22values%22%3A%5B%22GB%22%5D%2C%20%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%20%7B%22type%22%3A%22metric%22%2C%20%22values%22%3A%5B16%5D%2C%20%22id%22%3A155%2C%20%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%20%22order%22%3A%22asc%22%2C%20%22id%22%3A40%7D%5D&deliveryOption=non-secure&deliveryType=all&deliveryFormat=all&mediaAcceleration=all&mediaEncryption=all&ipVersion=all&enableCPCodeName=true

Parameter Type Sample Description
Required query parameters
dimensions String 1,2,3 Specify the dimensions to use for the report, as comma-separated IDs. You need to include at least the dimensions or metrics parameter, but you can include both if desired.
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
metrics String 1,2,3 Specify the metrics to use for the report, as comma-separated IDs. You need to include at least the metrics or dimensions parameter, but you can include both if desired.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
aggregation String month The time period to group each data record, in seconds. You can use either a specific number of seconds, or use the keyword values day, week, month, or year. By default, reports for data ranging less than a day aggregate in five minute intervals. For up to 12 days, data aggregates hourly. For up to 30 days, data aggregates daily.
cpcodes String 12345,67890 Specifies the set of comma-delimited CP codes for which data is reported.
deliveryFormat Enumeration all Report on sp_hds for stream packaging HDS, sp_hls for stream packaging HLS, pt_hls for HLS, pt_hds for HDS, pt_dash for DASH, smooth for Microsoft Smooth Streaming, others, or the default all.
deliveryOption Enumeration non-secure Limits data to the type of traffic, non-secure for HTTP traffic, secure-shared for standard secure (HTTPS) traffic using the Akamai "shared certificate, secure-standard for Standard TLS HTTPS traffic, secure-premium for Enhanced TLS HTTPS traffic, or the default all. Older options are still supported including, http for non-secure traffic, ssl for secure shared-certificate traffic, and essl for secure customer-certificate traffic. However, it’s best to use the newer options.
deliveryType Enumeration all Limit data to the context of media delivery, live, vod (video on demand), or the default all.
enableCPCodeName Boolean true If set to true, it returns the CP code along with its name.
filterParams String [{"type":"dimension", "values":["GB"], "id":4,"condition":"in"}, {"type":"metric", "values":[16], "id":155, "condition":"gt"}] A UTF–8 URL-encoded JSON object representing filter parameters that limit reported data. See the FilterParams object for details on its structure.
ipVersion Enumeration all Limit reported data per IP version, ipv4, ipv6, or the default all for either version.
limit Number 300 The number of rows to return from 1 to 10000. 300 is the default.
mediaAcceleration Enumeration all Limit reported data to media that’s accelerated or nonaccelerated, or specify the default all for unlimited data.
mediaEncryption Enumeration all Limit reported data to encrypted or unencrypted media, or specify the default all for unlimited data.
offset Number 0 The offset of the row from which reported data should start, used to request progressive batches of data. For example, you can make 10 requests for 1000 records by setting the overall limit to 100, then setting the offset to 0, 100, 200, and so on for each request.
sortParams String [{"type":"metric", "order":"asc", "id":40}] A UTF–8 URL-encoded JSON object representing sort parameters that rearrange the reported data. See the SortParams object for details on its structure. When no sortParams are specified, the response is sorted chronologically for time based queries, or otherwise on the first metric.

Status 200 application/json

Download schema: mediaDeliveryData.json

Response body:

{
    "columns": [
        {
            "aggregate": "-",
            "index": 0,
            "name": "Time"
        },
        {
            "aggregate": "119",
            "index": 1,
            "name": "Visitors"
        }
    ],
    "metaData": {
        "aggregationInSeconds": "3600",
        "endTimeInEpoch": 1392616800,
        "hasMoreData": false,
        "limit": 10,
        "offset": 0,
        "reportPack": "Download Delivery Report Pack",
        "startTimeInEpoch": 1392595200,
        "timeZone": "EST"
    },
    "rows": [
        [
            "1392595200",
            "10"
        ],
        [
            "1392598800",
            "19"
        ],
        [
            "1392602400",
            "10"
        ],
        [
            "1392606000",
            "20"
        ],
        [
            "1392609600",
            "50"
        ],
        [
            "1392613200",
            "10"
        ]
    ]
}
  1. Run a List Adaptive Media Delivery data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

Get Adaptive Media Delivery real-time data

Retrieves near real-time data for Adaptive Media Delivery using parameters you specify. There’s a 15 minute latency for data gathering. To get a substantial set of results, set the startDate and endDate parameters to at least 15 minutes before the current time.

GET /media-delivery-reports/v1/adaptive-media-delivery/realtime-data{?dimensions,metrics,startDate,endDate,limit,offset,reduce,aggregation}

Sample: /media-delivery-reports/v1/adaptive-media-delivery/realtime-data?dimensions=1%2C2%2C3&metrics=1%2C2%2C3&startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&limit=300&offset=0&reduce=false&aggregation=3600

Parameter Type Sample Description
Required query parameters
dimensions String 1,2,3 Specify the dimensions to use for the report, as comma-separated IDs. You need to include at least the dimensions or metrics parameter, but you can include both if desired.
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
metrics String 1,2,3 Specify the metrics to use for the report, as comma-separated IDs. You need to include at least the metrics or dimensions parameter, but you can include both if desired.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
aggregation Enumeration 3600 The time period to group each data record, in seconds. Acceptable values include 300 (five minutes), 3600 (one hour), and 86400 (one day).
limit Number 300 The number of rows to return from 1 to 10000. 300 is the default.
offset Number 0 The offset of the row from which reported data should start, used to request progressive batches of data. For example, you can make 10 requests for 1000 records by setting the overall limit to 100, then setting the offset to 0, 100, 200, and so on for each request.
reduce Boolean false If set to true, it returns aggregated data.

Status 200 application/json

Download schema: mediaDeliveryData.json

Response body:

{
    "columns": [
        {
            "aggregate": "-",
            "index": 0,
            "name": "Time"
        },
        {
            "aggregate": "119",
            "index": 1,
            "name": "Visitors"
        }
    ],
    "metaData": {
        "aggregationInSeconds": "3600",
        "endTimeInEpoch": 1392616800,
        "hasMoreData": false,
        "limit": 10,
        "offset": 0,
        "reportPack": "Download Delivery Report Pack",
        "startTimeInEpoch": 1392595200,
        "timeZone": "EST"
    },
    "rows": [
        [
            "1392595200",
            "10"
        ],
        [
            "1392598800",
            "19"
        ],
        [
            "1392602400",
            "10"
        ],
        [
            "1392606000",
            "20"
        ],
        [
            "1392609600",
            "50"
        ],
        [
            "1392613200",
            "10"
        ]
    ]
}
  1. Run a List Adaptive Media Delivery data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

List Download Delivery data stores

A data store is a collection of dimensions and metrics that you can use to configure a custom report. Download Delivery’s “report pack” has its own unique data store. You can’t combine its dimensions and metrics with those in the report pack for another product. A response for this operation can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/list-data-stores-download-delivery-200.json file.

GET /media-delivery-reports/v1/download-delivery/data-stores

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 15,
    "name": "Statistics",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits (Edge/Midgress/Origin), Volume (Edge/Midgress/Origin), Offload and Edge Responses are available by Time and CP Code dimensions. Data is available at a minimum granularity of 5 minutes.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 2,
            "name": "Edge + Midgress",
            "unit": "GB",
            "type": "volume",
            "description": "Sum of Edge And Midgress Volume",
            "dataType": "VOLUME",
            "helpText": "Sum of Edge And Midgress Volume",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 3,
            "name": "Peer Volume",
            "unit": "bytes",
            "type": "volume",
            "description": "peer_bytes",
            "dataType": "VOLUME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 4,
            "name": "Edge Hits",
            "type": "count",
            "description": "All hits to the edge servers from the end users.",
            "dataType": "COUNT",
            "helpText": "All hits to the edge servers from the end users.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 300,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}

Get a Download Delivery data store

This fetches a list of dimensions and metrics used with Download Delivery, as well as the aggregation interval, purge interval, maximum allowed query interval, and other details for a data store you specify. Responses can be long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/get-data-store-download-delivery-200.json file.

GET /media-delivery-reports/v1/download-delivery/data-stores/{dataStoreId}

Sample: /media-delivery-reports/v1/download-delivery/data-stores/307

Parameter Type Sample Description
URL path parameters
dataStoreId Number 307 The ID of the data store. Uniquely identifies it.

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 15,
    "name": "Statistics",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits (Edge/Midgress/Origin), Volume (Edge/Midgress/Origin), Offload, and Edge Responses are available by Time and CP Code dimensions. Data is available at a minimum granularity of 5 minutes.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing, and monitoring traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and, monitoring traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 2,
            "name": "Edge + Midgress",
            "unit": "GB",
            "type": "volume",
            "description": "Sum of Edge And Midgress Volume",
            "dataType": "VOLUME",
            "helpText": "Sum of Edge And Midgress Volume",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 3,
            "name": "Peer Volume",
            "unit": "bytes",
            "type": "volume",
            "description": "peer_bytes",
            "dataType": "VOLUME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 4,
            "name": "Edge Hits",
            "type": "count",
            "description": "All hits to the edge servers from the end users.",
            "dataType": "COUNT",
            "helpText": "All hits to the edge servers from the end users.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 300,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}
  1. Run a List Download Delivery data stores operation and pull the id value assigned to the desired data store.

  2. Run this operation and include the id value as the {dataStoreId}.

Get Download Delivery data

Retrieves data for Download Delivery using parameters you specify.

GET /media-delivery-reports/v1/download-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,deliveryOption,mediaAcceleration,ipVersion,enableCPCodeName}

Sample: /media-delivery-reports/v1/download-delivery/data?dimensions=1%2C2%2C3&metrics=1%2C2%2C3&startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&cpcodes=12345%2C67890&limit=300&offset=0&aggregation=month&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%20%22values%22%3A%5B%22GB%22%5D%2C%20%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%20%7B%22type%22%3A%22metric%22%2C%20%22values%22%3A%5B16%5D%2C%20%22id%22%3A155%2C%20%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%20%22order%22%3A%22asc%22%2C%20%22id%22%3A40%7D%5D&deliveryOption=non-secure&mediaAcceleration=all&ipVersion=all&enableCPCodeName=true

Parameter Type Sample Description
Required query parameters
dimensions String 1,2,3 Specify the dimensions to use for the report, as comma-separated IDs. You need to include at least the dimensions or metrics parameter, but you can include both if desired.
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
metrics String 1,2,3 Specify the metrics to use for the report, as comma-separated IDs. You need to include at least the metrics or dimensions parameter, but you can include both if desired.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
aggregation String month The time period to group each data record, in seconds. You can use either a specific number of seconds, or use the keyword values day, week, month, or year. By default, reports for data ranging less than a day aggregate in five minute intervals. For up to 12 days, data aggregates hourly. For up to 30 days, data aggregates daily.
cpcodes String 12345,67890 Specifies the set of comma-delimited CP codes for which data is reported.
deliveryOption Enumeration non-secure Limits data to the type of traffic, non-secure for HTTP traffic, secure-shared for standard secure (HTTPS) traffic using the Akamai "shared certificate, secure-standard for Standard TLS HTTPS traffic, secure-premium for Enhanced TLS HTTPS traffic, or the default all. Older options are still supported including, http for non-secure traffic, ssl for secure shared-certificate traffic, and essl for secure customer-certificate traffic. However, it’s best to use the newer options.
enableCPCodeName Boolean true If set to true, it returns the CP code along with its name.
filterParams String [{"type":"dimension", "values":["GB"], "id":4,"condition":"in"}, {"type":"metric", "values":[16], "id":155, "condition":"gt"}] A UTF–8 URL-encoded JSON object representing filter parameters that limit reported data. See the FilterParams object for details on its structure.
ipVersion Enumeration all Limit reported data per IP version, ipv4, ipv6, or the default all for either version.
limit Number 300 The number of rows to return from 1 to 10000. 300 is the default.
mediaAcceleration Enumeration all Limit reported data to media that’s accelerated or nonaccelerated, or specify the default all for unlimited data.
offset Number 0 The offset of the row from which reported data should start, used to request progressive batches of data. For example, you can make 10 requests for 1000 records by setting the overall limit to 100, then setting the offset to 0, 100, 200, and so on for each request.
sortParams String [{"type":"metric", "order":"asc", "id":40}] A UTF–8 URL-encoded JSON object representing sort parameters that rearrange the reported data. See the SortParams object for details on its structure. When no sortParams are specified, the response is sorted chronologically for time based queries, or otherwise on the first metric.

Status 200 application/json

Download schema: mediaDeliveryData.json

Response body:

{
    "columns": [
        {
            "aggregate": "-",
            "index": 0,
            "name": "Time"
        },
        {
            "aggregate": "119",
            "index": 1,
            "name": "Visitors"
        }
    ],
    "metaData": {
        "aggregationInSeconds": "3600",
        "endTimeInEpoch": 1392616800,
        "hasMoreData": false,
        "limit": 10,
        "offset": 0,
        "reportPack": "Download Delivery Report Pack",
        "startTimeInEpoch": 1392595200,
        "timeZone": "EST"
    },
    "rows": [
        [
            "1392595200",
            "10"
        ],
        [
            "1392598800",
            "19"
        ],
        [
            "1392602400",
            "10"
        ],
        [
            "1392606000",
            "20"
        ],
        [
            "1392609600",
            "50"
        ],
        [
            "1392613200",
            "10"
        ]
    ]
}
  1. Run a List Download Delivery data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

Get Download Delivery real-time data

Retrieves near real-time data for Download Delivery using parameters you specify. There’s a 15 minute latency for data gathering. To get a substantial set of results, set the startDate and endDate parameters to at least 15 minutes before the current time.

GET /media-delivery-reports/v1/download-delivery/realtime-data{?dimensions,metrics,startDate,endDate,limit,offset,reduce,aggregation}

Sample: /media-delivery-reports/v1/download-delivery/realtime-data?dimensions=1%2C2%2C3&metrics=1%2C2%2C3&startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&limit=300&offset=0&reduce=false&aggregation=3600

Parameter Type Sample Description
Required query parameters
dimensions String 1,2,3 Specify the dimensions to use for the report, as comma-separated IDs. You need to include at least the dimensions or metrics parameter, but you can include both if desired.
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
metrics String 1,2,3 Specify the metrics to use for the report, as comma-separated IDs. You need to include at least the metrics or dimensions parameter, but you can include both if desired.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
aggregation Enumeration 3600 The time period to group each data record, in seconds. Acceptable values include 300 (five minutes), 3600 (one hour), and 86400 (one day).
limit Number 300 The number of rows to return from 1 to 10000. 300 is the default.
offset Number 0 The offset of the row from which reported data should start, used to request progressive batches of data. For example, you can make 10 requests for 1000 records by setting the overall limit to 100, then setting the offset to 0, 100, 200, and so on for each request.
reduce Boolean false If set to true, it returns aggregated data.

Status 200 application/json

Download schema: mediaDeliveryData.json

Response body:

{
    "columns": [
        {
            "aggregate": "-",
            "index": 0,
            "name": "Time"
        },
        {
            "aggregate": "119",
            "index": 1,
            "name": "Visitors"
        }
    ],
    "metaData": {
        "aggregationInSeconds": "3600",
        "endTimeInEpoch": 1392616800,
        "hasMoreData": false,
        "limit": 10,
        "offset": 0,
        "reportPack": "Download Delivery Report Pack",
        "startTimeInEpoch": 1392595200,
        "timeZone": "EST"
    },
    "rows": [
        [
            "1392595200",
            "10"
        ],
        [
            "1392598800",
            "19"
        ],
        [
            "1392602400",
            "10"
        ],
        [
            "1392606000",
            "20"
        ],
        [
            "1392609600",
            "50"
        ],
        [
            "1392613200",
            "10"
        ]
    ]
}
  1. Run a List Download Delivery data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

List Object Delivery data stores

A data store is a collection of dimensions and metrics that you can use to configure custom reports. Object Delivery’s “report pack” has its own unique data store. You can’t combine its dimensions and metrics with those in the report pack for another product. A response to this operation can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/list-data-stores-object-delivery-200.json file.

GET /media-delivery-reports/v1/object-delivery/data-stores

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 32,
    "name": "Usage",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits (Edge/Midgress/Origin), Volume (Edge/Midgress/Origin), and Edge Responses are available by dimensions like Time, CP Code, Content Type, File Extension, and File Size Bucket. Data is available at a minimum granularity of one day.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 4,
            "name": "Edge Hits",
            "type": "count",
            "description": "All hits to the edge servers from the end users.",
            "dataType": "COUNT",
            "helpText": "All hits to the edge servers from the end users.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 457,
            "name": "Midgress Bandwidth",
            "type": "Mbps",
            "description": "Midgress Bandwidth",
            "dataType": "NUMBER",
            "helpText": "Midgress Bandwidth",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 9,
            "name": "Midgress Hits",
            "type": "count",
            "description": "Midgress traffic includes hits from edge servers to other edge servers.",
            "dataType": "COUNT",
            "helpText": "Midgress traffic includes hits from edge servers to other edge servers.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 86400,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}

Get an Object Delivery data store

This fetches a list of dimensions and metrics used with Object Delivery, as well as the aggregation interval, purge interval, maximum allowed query interval, and other details for a data store you specify. Responses can be long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/get-data-store-object-delivery-200.json file.

GET /media-delivery-reports/v1/object-delivery/data-stores/{dataStoreId}

Sample: /media-delivery-reports/v1/object-delivery/data-stores/307

Parameter Type Sample Description
URL path parameters
dataStoreId Integer 307 Data store ID. This uniquely identifies each data store.

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 32,
    "name": "Usage",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits (Edge/Midgress/Origin), Volume (Edge/Midgress/Origin), and Edge Responses are available by dimensions like Time, CP Code, Content Type, File Extension, and File Size Bucket. Data is available at a minimum granularity of 1 day.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "helpText": "Content Provider code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 18,
            "name": "Content Type",
            "description": "The value of the HTTP content type header served to the client.",
            "helpText": "The value of the HTTP content type header served to the client.",
            "dataType": "ENCODED",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 19,
            "name": "File Extension",
            "description": "File extension of the object requested. Akamai extracts this from the URL of the requested object.",
            "helpText": "File extension of the object requested. Akamai extracts this from the URL of the requested object.",
            "dataType": "ENCODED",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 6,
            "name": "File Size Bucket",
            "description": "The number of bytes and the size of objects requested, categorized in buckets of various sizes.",
            "helpText": "The number of bytes and the size of objects requested, categorized in buckets of various sizes.",
            "dataType": "STRING",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 4,
            "name": "Edge Hits",
            "type": "count",
            "description": "All hits to the edge servers from the end users.",
            "dataType": "COUNT",
            "helpText": "All hits to the edge servers from the end users.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 457,
            "name": "Midgress Bandwidth",
            "type": "Mbps",
            "description": "Midgress Bandwidth",
            "dataType": "NUMBER",
            "helpText": "Midgress Bandwidth",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 9,
            "name": "Midgress Hits",
            "type": "count",
            "description": "Midgress traffic includes hits from edge servers to other edge servers.",
            "dataType": "COUNT",
            "helpText": "Midgress traffic includes hits from edge servers to other edge servers.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 86400,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}
  1. Run a List Object Delivery data stores operation and pull the id value assigned to the desired data store.

  2. Run this operation and include the id value as the {dataStoreId}.

Get Object Delivery data

Retrieves data for Object Delivery using parameters you specify.

GET /media-delivery-reports/v1/object-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,filterParams,sortParams,enableCPCodeName,deliveryOption}

Sample: /media-delivery-reports/v1/object-delivery/data?dimensions=1%2C2%2C3&metrics=1%2C2%2C3&startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&cpcodes=12345%2C67890&limit=300&offset=0&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%20%22values%22%3A%5B%22GB%22%5D%2C%20%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%20%7B%22type%22%3A%22metric%22%2C%20%22values%22%3A%5B16%5D%2C%20%22id%22%3A155%2C%20%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%20%22order%22%3A%22asc%22%2C%20%22id%22%3A40%7D%5D&enableCPCodeName=true&deliveryOption=non-secure

Parameter Type Sample Description
Required query parameters
dimensions String 1,2,3 Specify the dimensions to use for the report, as comma-separated IDs. You need to include at least the dimensions or metrics parameter, but you can include both if desired.
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
metrics String 1,2,3 Specify the metrics to use for the report, as comma-separated IDs. You need to include at least the metrics or dimensions parameter, but you can include both if desired.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
cpcodes String 12345,67890 Specifies the set of comma-delimited CP codes for which data is reported.
deliveryOption Enumeration non-secure Limits data to the type of traffic, non-secure for HTTP traffic, secure-shared for standard secure (HTTPS) traffic using the Akamai "shared certificate, secure-standard for Standard TLS HTTPS traffic, secure-premium for Enhanced TLS HTTPS traffic, or the default all. Older options are still supported including, http for non-secure traffic, ssl for secure shared-certificate traffic, and essl for secure customer-certificate traffic. However, it’s best to use the newer options.
enableCPCodeName Boolean true If set to true, it returns the CP code along with its name.
filterParams String [{"type":"dimension", "values":["GB"], "id":4,"condition":"in"}, {"type":"metric", "values":[16], "id":155, "condition":"gt"}] A UTF–8 URL-encoded JSON object representing filter parameters that limit reported data. See the FilterParams object for details on its structure.
limit Number 300 The number of rows to return from 1 to 10000. 300 is the default.
offset Number 0 The offset of the row from which reported data should start, used to request progressive batches of data. For example, you can make 10 requests for 1000 records by setting the overall limit to 100, then setting the offset to 0, 100, 200, and so on for each request.
sortParams String [{"type":"metric", "order":"asc", "id":40}] A UTF–8 URL-encoded JSON object representing sort parameters that rearrange the reported data. See the SortParams object for details on its structure. When no sortParams are specified, the response is sorted chronologically for time based queries, or otherwise on the first metric.

Status 200 application/json

Download schema: mediaDeliveryData.json

Response body:

{
    "columns": [
        {
            "aggregate": "-",
            "index": 0,
            "name": "Time"
        },
        {
            "aggregate": "119",
            "index": 1,
            "name": "Visitors"
        }
    ],
    "metaData": {
        "aggregationInSeconds": "3600",
        "endTimeInEpoch": 1392616800,
        "hasMoreData": false,
        "limit": 10,
        "offset": 0,
        "reportPack": "Download Delivery Report Pack",
        "startTimeInEpoch": 1392595200,
        "timeZone": "EST"
    },
    "rows": [
        [
            "1392595200",
            "10"
        ],
        [
            "1392598800",
            "19"
        ],
        [
            "1392602400",
            "10"
        ],
        [
            "1392606000",
            "20"
        ],
        [
            "1392609600",
            "50"
        ],
        [
            "1392613200",
            "10"
        ]
    ]
}
  1. Run a List Object Delivery data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

List Akamai Cloud Embed data stores

A data store is a collection of dimensions and metrics that you can use to configure a custom report. Akamai Cloud Embed’s “report pack” has its own unique data store. You can’t combine its dimensions and metrics with those in the report pack for another product. A response for this operation can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/list-data-stores-wholesale-delivery-200.json file.

GET /media-delivery-reports/v1/wholesale-delivery/data-stores

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 37,
    "name": "Subcustomer Info",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits (Edge/Midgress/Origin), Volume (Edge/Midgress/Origin), Offload, and Edge Responses are available by Subcustomer ID. Data is available at a minimum granularity of 1 hour.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing, and monitoring of traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing, and monitoring of traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 25,
            "name": "Subcustomer ID",
            "description": "The unique ID assigned to a subcustomer. A subcustomer accesses the Akamai CDN through a cloud partner that has purchased Akamai Cloud Embed. A subcustomer isn't directly contracted with Akamai.",
            "helpText": "The unique ID assigned to a subcustomer. A subcustomer accesses the Akamai CDN through a cloud partner that has purchased Akamai Cloud Embed. A subcustomer isn't directly contracted with Akamai.",
            "dataType": "STRING",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 4,
            "name": "Edge Hits",
            "type": "count",
            "description": "All hits to the edge servers from the end users.",
            "dataType": "COUNT",
            "helpText": "All hits to the edge servers from the end users.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 9,
            "name": "Midgress Hits",
            "type": "count",
            "description": "Midgress traffic includes hits from edge servers to other edge servers.",
            "dataType": "COUNT",
            "helpText": "Midgress traffic includes hits from edge servers to other edge servers.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 18,
            "name": "0XX Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response codes- 0xx (Client Abort)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response codes- 0xx (Client Abort)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 19,
            "name": "200 Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response code - 200 (Successful)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response code - 200 (Successful)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 20,
            "name": "206 Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response code - 206 (Partial Content)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response code - 206 (Partial Content)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 21,
            "name": "2XX Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response codes - 200 to 299 (Successful)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response codes - 200 to 299 (Successful)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 22,
            "name": "302 Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response code - 302 (Redirection Status Code - Found)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response code - 302 (Redirection Status Code - Found)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 23,
            "name": "304 Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response codes - 304 (Redirection Status Code - Not Modified)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response codes - 304 (Redirection Status Code - Not Modified)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 24,
            "name": "3XX Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response codes - 300 to 399 (Redirection)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response codes - 300 to 399 (Redirection)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 25,
            "name": "404 Edge Hits",
            "type": "count",
            "description": "Number of hits that returned the response code - 404 (File not found)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned the response code - 404 (File not found)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 28,
            "name": "4XX Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response codes - 400 to 499 (Client Error)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response codes - 400 to 499 (Client Error)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 29,
            "name": "5XX Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response codes - 500 to 599 (Server Error)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response codes - 500 to 599 (Server Error)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 30,
            "name": "Other Hits",
            "type": "count",
            "description": "When a response code doesn't fall within the codes 2xx to 5xx, it's considered an \"Other\" hit.",
            "dataType": "COUNT",
            "helpText": "When a response code doesn't fall within the codes 2xx to 5xx, it's considered an \"Other\" hit.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 43,
            "name": "Midgress Volume",
            "unit": "GB",
            "type": "volume",
            "description": "Total object bytes transferred from one edge server to another edge server.",
            "dataType": "VOLUME",
            "helpText": "Total object bytes transferred from one edge server to another edge server.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 44,
            "name": "Edge Volume",
            "unit": "GB",
            "type": "volume",
            "description": "Total number of megabytes transferred between the edge server and the end user, including overhead bytes.",
            "dataType": "VOLUME",
            "helpText": "Total number of megabytes transferred between the edge server and the end user, including overhead bytes.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 3600,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}

Get an Akamai Cloud Embed data store

This fetches a list of dimensions and metrics used with Object Delivery, as well as the aggregation interval, purge interval, maximum allowed query interval, and other details for a data store you specify. Responses can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/get-data-store-wholesale-delivery-200.json file.

GET /media-delivery-reports/v1/wholesale-delivery/data-stores/{dataStoreId}

Sample: /media-delivery-reports/v1/wholesale-delivery/data-stores/307

Parameter Type Sample Description
URL path parameters
dataStoreId Number 307 The ID of the data store. Uniquely identifies it.

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 37,
    "name": "Sub Customer Info",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits (Edge/Midgress/Origin), Volume (Edge/Midgress/Origin), Offload and Edge Responses are available by Sub Customer ID. Data is available at a minimum granularity of 1 hour.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 25,
            "name": "Sub Customer ID",
            "description": "The unique ID assigned to a subcustomer. A subcustomer accesses the Akamai CDN through a cloud partner that has purchased Akamai Cloud Embed. A subcustomer isn't directly contracted with Akamai.",
            "helpText": "The unique ID assigned to a subcustomer. A subcustomer accesses the Akamai CDN through a cloud partner that has purchased Akamai Cloud Embed. A subcustomer isn't directly contracted with Akamai.",
            "dataType": "STRING",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 4,
            "name": "Edge Hits",
            "type": "count",
            "description": "All hits to the edge servers from the end users.",
            "dataType": "COUNT",
            "helpText": "All hits to the edge servers from the end users.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 9,
            "name": "Midgress Hits",
            "type": "count",
            "description": "Midgress traffic includes hits from edge servers to other edge servers.",
            "dataType": "COUNT",
            "helpText": "Midgress traffic includes hits from edge servers to other edge servers.",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 18,
            "name": "0XX Edge Hits",
            "type": "count",
            "description": "Number of hits that returned response codes- 0xx (Client Abort)",
            "dataType": "COUNT",
            "helpText": "Number of hits that returned response codes- 0xx (Client Abort)",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 3600,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}
  1. Run a List Akamai Cloud Embed data stores operation and pull the id value assigned to the desired data store.

  2. Run this operation and include the id value as the {dataStoreId}.

Get Akamai Cloud Embed data

Retrieves data for Akamai Cloud Embed using parameters you specify.

GET /media-delivery-reports/v1/wholesale-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,deliveryOption,enableCPCodeName}

Sample: /media-delivery-reports/v1/wholesale-delivery/data?dimensions=1%2C2%2C3&metrics=1%2C2%2C3&startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&cpcodes=12345%2C67890&limit=300&offset=0&aggregation=month&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%20%22values%22%3A%5B%22GB%22%5D%2C%20%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%20%7B%22type%22%3A%22metric%22%2C%20%22values%22%3A%5B16%5D%2C%20%22id%22%3A155%2C%20%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%20%22order%22%3A%22asc%22%2C%20%22id%22%3A40%7D%5D&deliveryOption=non-secure&enableCPCodeName=true

Parameter Type Sample Description
Required query parameters
dimensions String 1,2,3 Specify the dimensions to use for the report, as comma-separated IDs. You need to include at least the dimensions or metrics parameter, but you can include both if desired.
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
metrics String 1,2,3 Specify the metrics to use for the report, as comma-separated IDs. You need to include at least the metrics or dimensions parameter, but you can include both if desired.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
aggregation String month The time period to group each data record, in seconds. You can use either a specific number of seconds, or use the keyword values day, week, month, or year. By default, reports for data ranging less than a day aggregate in five minute intervals. For up to 12 days, data aggregates hourly. For up to 30 days, data aggregates daily.
cpcodes String 12345,67890 Specifies the set of comma-delimited CP codes for which data is reported.
deliveryOption Enumeration non-secure Limits data to the type of traffic, non-secure for HTTP traffic, secure-shared for standard secure (HTTPS) traffic using the Akamai "shared certificate, secure-standard for Standard TLS HTTPS traffic, secure-premium for Enhanced TLS HTTPS traffic, or the default all. Older options are still supported including, http for non-secure traffic, ssl for secure shared-certificate traffic, and essl for secure customer-certificate traffic. However, it’s best to use the newer options.
enableCPCodeName Boolean true If set to true, it returns the CP code along with its name.
filterParams String [{"type":"dimension", "values":["GB"], "id":4,"condition":"in"}, {"type":"metric", "values":[16], "id":155, "condition":"gt"}] A UTF–8 URL-encoded JSON object representing filter parameters that limit reported data. See the FilterParams object for details on its structure.
limit Number 300 The number of rows to return from 1 to 10000. 300 is the default.
offset Number 0 The offset of the row from which reported data should start, used to request progressive batches of data. For example, you can make 10 requests for 1000 records by setting the overall limit to 100, then setting the offset to 0, 100, 200, and so on for each request.
sortParams String [{"type":"metric", "order":"asc", "id":40}] A UTF–8 URL-encoded JSON object representing sort parameters that rearrange the reported data. See the SortParams object for details on its structure. When no sortParams are specified, the response is sorted chronologically for time based queries, or otherwise on the first metric.

Status 200 application/json

Download schema: mediaDeliveryData.json

Response body:

{
    "columns": [
        {
            "aggregate": "-",
            "index": 0,
            "name": "Time"
        },
        {
            "aggregate": "119",
            "index": 1,
            "name": "Subcustomer ID"
        }
    ],
    "metaData": {
        "aggregationInSeconds": "3600",
        "endTimeInEpoch": 1392616800,
        "hasMoreData": false,
        "limit": 10,
        "offset": 0,
        "reportPack": "Akamai Cloud Embed Report Pack",
        "startTimeInEpoch": 1392595200,
        "timeZone": "EST"
    },
    "rows": [
        [
            "1392595200",
            "10"
        ],
        [
            "1392598800",
            "19"
        ],
        [
            "1392602400",
            "10"
        ],
        [
            "1392606000",
            "20"
        ],
        [
            "1392609600",
            "50"
        ],
        [
            "1392613200",
            "10"
        ]
    ]
}
  1. Run a List Akamai Cloud Embed data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

Get Akamai Cloud Embed Real-time data

Retrieves near real-time data for Akamai Cloud Embed using parameters you specify. The latency for data gathering can be as little as five minutes, with a maximum of 10 minutes. To get a substantial set of results, set the startDate and endDate parameters to at least 10 minutes before the current time.

GET /media-delivery-reports/v1/wholesale-delivery/data/realtime{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,enableCPCodeName}

Sample: /media-delivery-reports/v1/wholesale-delivery/data/realtime?dimensions=1%2C2%2C3&metrics=1%2C2%2C3&startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&cpcodes=12345%2C67890&limit=300&offset=0&aggregation=month&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%20%22values%22%3A%5B%22GB%22%5D%2C%20%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%20%7B%22type%22%3A%22metric%22%2C%20%22values%22%3A%5B16%5D%2C%20%22id%22%3A155%2C%20%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%20%22order%22%3A%22asc%22%2C%20%22id%22%3A40%7D%5D&enableCPCodeName=true

Parameter Type Sample Description
Required query parameters
dimensions String 1,2,3 Specify the dimensions to use for the report, as comma-separated IDs. You need to include at least the dimensions or metrics parameter, but you can include both if desired.
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
metrics String 1,2,3 Specify the metrics to use for the report, as comma-separated IDs. You need to include at least the metrics or dimensions parameter, but you can include both if desired.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
aggregation String month The time period to group each data record, in seconds. You can use either a specific number of seconds, or use the keyword values day, week, month, or year. By default, reports for data ranging less than a day aggregate in five minute intervals. For up to 12 days, data aggregates hourly. For up to 30 days, data aggregates daily.
cpcodes String 12345,67890 Specifies the set of comma-delimited CP codes for which data is reported.
enableCPCodeName Boolean true If set to true, it returns the CP code along with its name.
filterParams String [{"type":"dimension", "values":["GB"], "id":4,"condition":"in"}, {"type":"metric", "values":[16], "id":155, "condition":"gt"}] A UTF–8 URL-encoded JSON object representing filter parameters that limit reported data. See the FilterParams object for details on its structure.
limit Number 300 The number of rows to return from 1 to 10000. 300 is the default.
offset Number 0 The offset of the row from which reported data should start, used to request progressive batches of data. For example, you can make 10 requests for 1000 records by setting the overall limit to 100, then setting the offset to 0, 100, 200, and so on for each request.
sortParams String [{"type":"metric", "order":"asc", "id":40}] A UTF–8 URL-encoded JSON object representing sort parameters that rearrange the reported data. See the SortParams object for details on its structure. When no sortParams are specified, the response is sorted chronologically for time based queries, or otherwise on the first metric.

Status 200 application/json

Download schema: mediaDeliveryData.json

Response body:

{
    "columns": [
        {
            "aggregate": "-",
            "index": 0,
            "name": "Time"
        },
        {
            "aggregate": "119",
            "index": 1,
            "name": "Subcustomer ID"
        }
    ],
    "metaData": {
        "aggregationInSeconds": "3600",
        "endTimeInEpoch": 1392616800,
        "hasMoreData": false,
        "limit": 10,
        "offset": 0,
        "reportPack": "Akamai Cloud Embed Report Pack",
        "startTimeInEpoch": 1392595200,
        "timeZone": "EST"
    },
    "rows": [
        [
            "1392595200",
            "10"
        ],
        [
            "1392598800",
            "19"
        ],
        [
            "1392602400",
            "10"
        ],
        [
            "1392606000",
            "20"
        ],
        [
            "1392609600",
            "50"
        ],
        [
            "1392613200",
            "10"
        ]
    ]
}
  1. Run a List Akamai Cloud Embed data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

List RTMP Media Delivery data stores

A data store is a collection of dimensions and metrics that you can use to configure a custom report. RTMP Media Delivery’s “report pack” has its own unique data store. You can’t combine its dimensions and metrics with those in the report pack for another product. A response for this operation can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/list-data-stores-rtmp-media-delivery-200.json file.

GET /media-delivery-reports/v1/rtmp-media-delivery/data-stores

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 11,
    "name": "URL",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits(Edge), Volume(Edge), Viewing Time, Clip Play Time and Edge Responses are available by dimensions like Device, OS, and Player Id. Data is available at a minimum granularity of 1 day.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing, and monitoring traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing, and monitoring traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 6,
            "name": "File Size Bucket",
            "description": "The number of bytes and the size of objects requested categorized in buckets of various sizes.",
            "helpText": "The number of bytes and the size of objects requested categorized in buckets of various sizes.",
            "dataType": "STRING",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 7,
            "name": "Device",
            "description": "Indicates the browser, applications or device used to consume the content. This information is derived from the user-agent information in the request.",
            "helpText": "Indicates the browser, applications or device used to consume the content. This information is derived from the user-agent information in the request.",
            "dataType": "ENCODED",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 8,
            "name": "OS",
            "description": "The operating system using which the viewer accesses your media.",
            "helpText": "The operating system using which the viewer accesses your media.",
            "dataType": "ENCODED",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 9,
            "name": "Network Type",
            "description": "The network connection type used by end users to consume the content.",
            "helpText": "The network connection type used by end users to consume the content.",
            "dataType": "STRING",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 21,
            "name": "URL",
            "description": "url",
            "dataType": "ENCODED",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 22,
            "name": "Player ID",
            "description": "player_id",
            "dataType": "STRING",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 65,
            "name": "Clip Playtime",
            "type": "time",
            "description": "Clip Playtime",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 66,
            "name": "Viewing Start Time",
            "type": "time",
            "description": "start_viewing_time",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 67,
            "name": "End Viewing Time",
            "type": "time",
            "description": "end_viewing_time",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 68,
            "name": "Active Count",
            "type": "count",
            "description": "active_count",
            "dataType": "COUNT",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 3600,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}

Get an RTMP Media Delivery data store

This fetches a list of dimensions and metrics used with RTMP Media Delivery, as well as the aggregation interval, purge interval, maximum allowed query interval, and other details for a data store you specify. Responses can be long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/get-data-store-rtmp-media-delivery-200.json file.

GET /media-delivery-reports/v1/rtmp-media-delivery/data-stores/{dataStoreId}

Sample: /media-delivery-reports/v1/rtmp-media-delivery/data-stores/307

Parameter Type Sample Description
URL path parameters
dataStoreId Integer 307 Data store ID. Uniquely identifies the data source.

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 11,
    "name": "URL",
    "type": "standard",
    "description": "As part of this data store, metrics related to Hits (Edge), Volume (Edge), Viewing Time, Clip Play Time and Edge Responses are available by dimensions like Device, OS, Player Id. Data is available at a minimum granularity of 1 day.",
    "dimensions": [
        {
            "id": 1,
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "helpText": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 2,
            "name": "CPCode",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 6,
            "name": "File Size Bucket",
            "description": "The number of bytes and the size of objects requested categorized in buckets of various sizes.",
            "helpText": "The number of bytes and the size of objects requested categorized in buckets of various sizes.",
            "dataType": "STRING",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 7,
            "name": "Device",
            "description": "Indicates the browser, applications or device used to consume the content. This information is derived from the user-agent information in the request.",
            "helpText": "Indicates the browser, applications or device used to consume the content. This information is derived from the user-agent information in the request.",
            "dataType": "ENCODED",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 8,
            "name": "OS",
            "description": "The operating system using which the viewer accesses your media.",
            "helpText": "The operating system using which the viewer accesses your media.",
            "dataType": "ENCODED",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 9,
            "name": "Network Type",
            "description": "The network connection type used by end users to consume the content.",
            "helpText": "The network connection type used by end users to consume the content.",
            "dataType": "STRING",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 21,
            "name": "URL",
            "description": "url",
            "dataType": "ENCODED",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 22,
            "name": "Player ID",
            "description": "player_id",
            "dataType": "STRING",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 65,
            "name": "Clip Playtime",
            "type": "time",
            "description": "Clip Playtime",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 66,
            "name": "Viewing Start Time",
            "type": "time",
            "description": "start_viewing_time",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 67,
            "name": "End Viewing Time",
            "type": "time",
            "description": "end_viewing_time",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 3600,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640
}
  1. Run a List RTMP Media Delivery data stores operation and pull the id value assigned to the desired data store.

  2. Run this operation and include the id value as the {dataStoreId}.

Get RTMP Media Delivery data

Retrieves RTMP Media Delivery data using parameters you specify.

GET /media-delivery-reports/v1/rtmp-media-delivery/data{?dimensions,metrics,startDate,endDate,cpcodes,limit,offset,aggregation,filterParams,sortParams,deliveryType,enableCPCodeName}

Sample: /media-delivery-reports/v1/rtmp-media-delivery/data?dimensions=1%2C2%2C3&metrics=1%2C2%2C3&startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&cpcodes=12345%2C67890&limit=300&offset=0&aggregation=month&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%20%22values%22%3A%5B%22GB%22%5D%2C%20%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%20%7B%22type%22%3A%22metric%22%2C%20%22values%22%3A%5B16%5D%2C%20%22id%22%3A155%2C%20%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%20%22order%22%3A%22asc%22%2C%20%22id%22%3A40%7D%5D&deliveryType=all&enableCPCodeName=true

Parameter Type Sample Description
Required query parameters
dimensions String 1,2,3 Specify the dimensions to use for the report, as comma-separated IDs. You need to include at least the dimensions or metrics parameter, but you can include both if desired.
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
metrics String 1,2,3 Specify the metrics to use for the report, as comma-separated IDs. You need to include at least the metrics or dimensions parameter, but you can include both if desired.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
aggregation String month The time period to group each data record, in seconds. You can use either a specific number of seconds, or use the keyword values day, week, month, or year. By default, reports for data ranging less than a day aggregate in five minute intervals. For up to 12 days, data aggregates hourly. For up to 30 days, data aggregates daily.
cpcodes String 12345,67890 Specifies the set of comma-delimited CP codes for which data is reported.
deliveryType Enumeration all Limit data to the context of media delivery, live, vod (video on demand), or the default all.
enableCPCodeName Boolean true If set to true, it returns the CP code along with its name.
filterParams String [{"type":"dimension", "values":["GB"], "id":4,"condition":"in"}, {"type":"metric", "values":[16], "id":155, "condition":"gt"}] A UTF–8 URL-encoded JSON object representing filter parameters that limit reported data. See the FilterParams object for details on its structure.
limit Number 300 The number of rows to return from 1 to 10000. 300 is the default.
offset Number 0 The offset of the row from which reported data should start, used to request progressive batches of data. For example, you can make 10 requests for 1000 records by setting the overall limit to 100, then setting the offset to 0, 100, 200, and so on for each request.
sortParams String [{"type":"metric", "order":"asc", "id":40}] A UTF–8 URL-encoded JSON object representing sort parameters that rearrange the reported data. See the SortParams object for details on its structure. When no sortParams are specified, the response is sorted chronologically for time based queries, or otherwise on the first metric.

Status 200 application/json

Download schema: mediaDeliveryData.json

Response body:

{
    "columns": [
        {
            "aggregate": "-",
            "index": 0,
            "name": "Time"
        },
        {
            "aggregate": "119",
            "index": 1,
            "name": "Visitors"
        }
    ],
    "metaData": {
        "aggregationInSeconds": "3600",
        "endTimeInEpoch": 1392616800,
        "hasMoreData": false,
        "limit": 10,
        "offset": 0,
        "reportPack": "Download Delivery Report Pack",
        "startTimeInEpoch": 1392595200,
        "timeZone": "EST"
    },
    "rows": [
        [
            "1392595200",
            "10"
        ],
        [
            "1392598800",
            "19"
        ],
        [
            "1392602400",
            "10"
        ],
        [
            "1392606000",
            "20"
        ],
        [
            "1392609600",
            "50"
        ],
        [
            "1392613200",
            "10"
        ]
    ]
}
  1. Run a List RTMP Media Delivery data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

List HTTP Content Delivery Downloads data stores

A data store is a collection of dimensions and metrics that you can use to configure a custom report. HTTP Content Delivery Download’s “report pack” has its own unique data store. You can’t combine its dimensions and metrics with those in the report pack for another product. A response for this operation can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/list-data-store-httpcd-200.json file.

GET /media-delivery-reports/v1/delivery/httpcd/data-stores

Status 200 application/json

Download schema: dataStore.json

Response body:

[
    {
        "id": 24011,
        "name": "ca_-_D_visitor",
        "type": "standard",
        "description": "The table used for the HTTPCD data for Canada graph.",
        "dimensions": [
            {
                "id": 24001,
                "name": "CP Code",
                "description": "Content Provider code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
                "helpText": "Content Provider code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
                "dataType": "CPCODE",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 24018,
                "name": "Province",
                "description": "The geographic ID that represents a specific Canadian province.",
                "helpText": "The geographic ID that represents a specific Canadian province.",
                "dataType": "NUMBER",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "metrics": [
            {
                "id": 24056,
                "name": "Visitors",
                "unit": "count",
                "type": "count",
                "description": "The total number of visitors requesting content.",
                "dataType": "COUNT",
                "displayName": "Visitors",
                "helpText": "The total number of visitors requesting content.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 24057,
                "name": "OK Hits",
                "unit": "count",
                "type": "count",
                "description": "The total number of successful hits for content.",
                "dataType": "COUNT",
                "displayName": "OK Hits",
                "helpText": "The total number of successful hits for content.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 24058,
                "name": "OK Volume",
                "unit": "MB",
                "type": "volume",
                "description": "The total volume of content delivered for successful hits.",
                "dataType": "VOLUME",
                "displayName": "OK Volume",
                "helpText": "The total volume of content delivered for successful hits.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "aggregationInSeconds": 86400,
        "purgeIntervalInDays": 90,
        "maxQueryDurationInMinutes": 44640,
        "reportType": ""
    },
    {
        "id": 24009,
        "name": "country_-_D_visitor",
        "type": "standard",
        "description": "The table used for the HTTPCD All Countries graph.",
        "dimensions": [
            {
                "id": 24016,
                "name": "Country",
                "description": "Country",
                "helpText": "geoid",
                "dataType": "NUMBER",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 24001,
                "name": "CP Code",
                "description": "Content Provider code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
                "helpText": "Content Provider code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
                "dataType": "CPCODE",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "metrics": [
            {
                "id": 24056,
                "name": "Visitors",
                "unit": "count",
                "type": "count",
                "description": "The total number of visitors requesting content.",
                "dataType": "COUNT",
                "displayName": "Visitors",
                "helpText": "The total number of visitors requesting content.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 24057,
                "name": "OK Hits",
                "unit": "count",
                "type": "count",
                "description": "The total number of successful hits for content.",
                "dataType": "COUNT",
                "displayName": "OK Hits",
                "helpText": "The total number of successful hits for content.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 24058,
                "name": "The total volume of content delivered for successful hits.",
                "unit": "MB",
                "type": "volume",
                "description": "The total volume of content delivered for successful hits.",
                "dataType": "VOLUME",
                "displayName": "OK Volume",
                "helpText": "The total volume of content delivered for successful hits.",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "aggregationInSeconds": 86400,
        "purgeIntervalInDays": 90,
        "maxQueryDurationInMinutes": 44640,
        "reportType": ""
    }
]

Get an HTTP Content Delivery Downloads data store

Specify a data store to fetch a list of its dimensions and metrics, as well as its aggregation interval, purge interval, maximum allowed query interval, and other details.

GET /media-delivery-reports/v1/delivery/httpcd/data-stores/{dataStoreId}

Sample: /media-delivery-reports/v1/delivery/httpcd/data-stores/24011

Parameter Type Sample Description
URL path parameters
dataStoreId Integer 24011 The unique identifier for a data store.

Status 200 application/json

Download schema: dataStore.json

Response body:

{
    "id": 24011,
    "name": "ca_-_D_visitor",
    "type": "standard",
    "description": "The table used in the graph for HTTPCD data for Canada.",
    "dimensions": [
        {
            "id": 24001,
            "name": "CP Code",
            "description": "Content Provider code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "helpText": "Content Provider code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "dataType": "CPCODE",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 24018,
            "name": "Province",
            "description": "The geographic ID that represents a specific Canadian province.",
            "helpText": "geoid",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 24056,
            "name": "Visitors",
            "unit": "count",
            "type": "count",
            "description": "The total number of visitors requesting content.",
            "dataType": "COUNT",
            "displayName": "Visitors",
            "helpText": "Visitors",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 24057,
            "name": "OK Hits",
            "unit": "count",
            "type": "count",
            "description": "The total number of successful hits for content.",
            "dataType": "COUNT",
            "displayName": "OK Hits",
            "helpText": "OK Hits",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 24058,
            "name": "OK Volume",
            "unit": "MB",
            "type": "volume",
            "description": "The total volume of content delivered for successful hits.",
            "dataType": "VOLUME",
            "displayName": "OK Volume",
            "helpText": "OK Volume",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 86400,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640,
    "reportType": ""
}
  1. Run a List HTTP Content Delivery Downloads data stores operation and pull the id value assigned to the desired data store.

  2. Run this operation and include the id value as the {dataStoreId}.

List HTTP Content Delivery metrics

Retrieves all available metrics for HTTP Content Delivery.

GET /media-delivery-reports/v1/delivery/httpcd/metrics

Status 200 application/json

Download schema: metrics.json

Response body:

[
    {
        "id": 10212,
        "name": "0xx",
        "type": "count",
        "description": "The total number of `0xx` responses to requests"
    },
    {
        "id": 10213,
        "name": "200",
        "type": "count",
        "description": "The total number of `200` responses to requests"
    },
    {
        "id": 10214,
        "name": "206",
        "type": "count",
        "description": "The total number of `206` responses to requests"
    },
    {
        "id": 10215,
        "name": "2xx",
        "type": "count",
        "description": "The total number of `2xx` responses to requests"
    },
    {
        "id": 10216,
        "name": "302",
        "type": "count",
        "description": "The total number of `302` responses to requests"
    },
    {
        "id": 10217,
        "name": "304",
        "type": "count",
        "description": "The total number of `304` responses to requests"
    },
    {
        "id": 10218,
        "name": "3xx",
        "type": "count",
        "description": "The total number of `3xx` responses to requests"
    },
    {
        "id": 10221,
        "name": "401",
        "type": "count",
        "description": "The total number of `401` responses to requests"
    },
    {
        "id": 10219,
        "name": "404",
        "type": "count",
        "description": "The total number of `404` responses to requests"
    },
    {
        "id": 10222,
        "name": "408",
        "type": "count",
        "description": "The total number of `408` responses to requests"
    },
    {
        "id": 10220,
        "name": "4xx",
        "type": "count",
        "description": "The total number of `4xx` responses to requests"
    },
    {
        "id": 10223,
        "name": "5xx",
        "type": "count",
        "description": "The total number of `5xx` responses to requests"
    },
    {
        "id": 10224,
        "name": "6xx",
        "type": "count",
        "description": "The total number of `6xx` responses to requests"
    },
    {
        "id": 10306,
        "name": "Average Bit rate",
        "unit": "count",
        "type": "count",
        "description": "The average amount of data transferred"
    },
    {
        "id": 10107,
        "name": "Average Buffer Time",
        "type": "count",
        "description": "Average Buffer Time"
    },
    {
        "id": 10102,
        "name": "Average Client Bandwidth",
        "type": "bandwidth",
        "description": "The average client bandwidth used per request"
    },
    {
        "id": 10101,
        "name": "Average Client Bandwidth in kbits/sec",
        "unit": "kbps",
        "type": "bandwidth",
        "description": "The average client bandwidth in kbps"
    },
    {
        "id": 10109,
        "name": "Average Clip Play Time",
        "type": "count",
        "description": "The average clip play time after all requests"
    },
    {
        "id": 10108,
        "name": "Average Packet Loss",
        "type": "count",
        "description": "The average packet loss experienced per request"
    },
    {
        "id": 10006,
        "name": "Average Play Time",
        "unit": "seconds",
        "type": "time",
        "description": "The average overall play time per request"
    },
    {
        "id": 10210,
        "name": "Avg Secs.",
        "type": "count",
        "description": "The overall average number of seconds per request"
    },
    {
        "id": 10232,
        "name": "Avg. Secs. Per Day",
        "type": "count",
        "description": "The average number of seconds for a request, on a daily basis"
    },
    {
        "id": 10002,
        "name": "Bytes",
        "unit": "MB",
        "type": "volume",
        "description": "The average number of megabytes served for a request"
    },
    {
        "id": 10014,
        "name": "Client-Abort Hits",
        "unit": "count",
        "type": "count",
        "description": "The total number of hits that were aborted by the client (a status code was never served for these requests)"
    },
    {
        "id": 10009,
        "name": "Client-Disconnect Hits",
        "type": "count",
        "description": "The total number of client disconnects (a status 408 was delivered for Flash or WMS)"
    },
    {
        "id": 10016,
        "name": "Concurrent Streams",
        "type": "count",
        "description": "The sum of the average of all concurrent streams"
    },
    {
        "id": 10302,
        "name": "Edge Bandwidth",
        "unit": "Mbps",
        "type": "bandwidth",
        "description": "The total amount of edge server bandwidth used"
    },
    {
        "id": 10008,
        "name": "Edge Traffic Hits",
        "unit": "count",
        "type": "count",
        "description": "The sum of egress traffic hits per second"
    },
    {
        "id": 10304,
        "name": "Edge Volume",
        "unit": "KB",
        "type": "volume",
        "description": "The total edge server volume used"
    },
    {
        "id": 10305,
        "name": "Egress Bit rate",
        "unit": "Mbps",
        "type": "bandwidth",
        "description": "The average Egress bit rate used"
    },
    {
        "id": 10251,
        "name": "Error Hits",
        "type": "count",
        "description": "The total number of hits that resulted in an error"
    },
    {
        "id": 10205,
        "name": "Error Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume of errors"
    },
    {
        "id": 10227,
        "name": "Error Volume Per Day",
        "unit": "MB",
        "type": "volume",
        "description": "The total error volume per day"
    },
    {
        "id": 10005,
        "name": "Flash Session Bytes",
        "unit": "MB",
        "type": "volume",
        "description": "The total number of Flash Session Bytes served"
    },
    {
        "id": 10209,
        "name": "GUIDs",
        "type": "count",
        "description": "The total number of Globally Unique Identifiers (GUIDs)"
    },
    {
        "id": 10231,
        "name": "GUIDs Per Day",
        "type": "count",
        "description": "The total number of GUIDs used on a daily basis"
    },
    {
        "id": 10105,
        "name": "Hits",
        "type": "count",
        "description": "The total number of hits"
    },
    {
        "id": 10208,
        "name": "IPs",
        "type": "count",
        "description": "The total number of IP addresses that made requests"
    },
    {
        "id": 10230,
        "name": "Ips Per Day",
        "type": "count",
        "description": "The total number of IP addresses that made requests per day"
    },
    {
        "id": 10000,
        "name": "Max Concurrent Streams",
        "type": "count",
        "description": "The sum of maximum concurrent streams"
    },
    {
        "id": 10011,
        "name": "Not-Found Hits",
        "type": "count",
        "description": "The total number of Not Found `404` errors"
    },
    {
        "id": 10401,
        "name": "OK Hits",
        "type": "count",
        "description": "The total number of `status OK` hits"
    },
    {
        "id": 10402,
        "name": "OK Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume of content delivered after `status OK` hits"
    },
    {
        "id": 10228,
        "name": "OK volume per day",
        "unit": "MB",
        "type": "volume",
        "description": "The total daily volume of content delivered after `status OK` hits"
    },
    {
        "id": 10015,
        "name": "Other Hits",
        "type": "count",
        "description": "The total number of hits that resulted in all `other` status codes"
    },
    {
        "id": 10207,
        "name": "Peak Conn.",
        "type": "count",
        "description": "The total number of peak connections"
    },
    {
        "id": 10229,
        "name": "Peak Conn. Per Day",
        "type": "count",
        "description": "The total number of peak connections per day"
    },
    {
        "id": 10012,
        "name": "Permission Hits",
        "type": "count",
        "description": "The total number `Permission Denied` hits that served the `400`, `401`, `403`, `433`, or `434` status codes"
    },
    {
        "id": 10211,
        "name": "Secs",
        "type": "count",
        "description": "The total amount of time in seconds for all client requests"
    },
    {
        "id": 10233,
        "name": "Secs Per Day",
        "type": "count",
        "description": "The average amount of time in seconds for client requests on a daily basis"
    },
    {
        "id": 10018,
        "name": "Server-Disconnect Hits",
        "type": "count",
        "description": "The total number of `Server-Disconnect` hits"
    },
    {
        "id": 10013,
        "name": "Server-Source-Error Hits",
        "type": "count",
        "description": "The total number of `Server Error` hits"
    },
    {
        "id": 10001,
        "name": "Total Hits",
        "unit": "Total Hits",
        "type": "count",
        "description": "The total number of Edge Traffic hits"
    },
    {
        "id": 10004,
        "name": "Total Play Time",
        "unit": "seconds",
        "type": "time",
        "description": "The total play time interval"
    },
    {
        "id": 10003,
        "name": "Total Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume delivered"
    },
    {
        "id": 10225,
        "name": "Total Volume Per Day",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume delivered per day"
    },
    {
        "id": 10226,
        "name": "URL hits per day",
        "type": "count",
        "description": "The total number of URL hits by date"
    },
    {
        "id": 10234,
        "name": "URL hits per day for 0xx status code",
        "type": "count",
        "description": "The total number of URL hits that resulted in the `0xx` status code"
    },
    {
        "id": 10235,
        "name": "URL hits per day for 200 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `200` status code"
    },
    {
        "id": 10236,
        "name": "URL hits per day for 206 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `206` status code"
    },
    {
        "id": 10237,
        "name": "URL hits per day for 2xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `2xx` status code"
    },
    {
        "id": 10238,
        "name": "URL hits per day for 302 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `302` status code"
    },
    {
        "id": 10239,
        "name": "URL hits per day for 304 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `304` status code"
    },
    {
        "id": 10240,
        "name": "URL hits per day for 3xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `3xx` status code"
    },
    {
        "id": 10243,
        "name": "URL hits per day for 401 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `401` status code"
    },
    {
        "id": 10241,
        "name": "URL hits per day for 404 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `404` status code"
    },
    {
        "id": 10244,
        "name": "URL hits per day for 408 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `408` status code"
    },
    {
        "id": 10242,
        "name": "URL hits per day for 4xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `4xx` status code"
    },
    {
        "id": 10245,
        "name": "URL hits per day for 5xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `5xx` status code"
    },
    {
        "id": 10246,
        "name": "URL hits per day for 6xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `6xx` status code"
    },
    {
        "id": 10103,
        "name": "Unique Client IP",
        "type": "count",
        "description": "The total number of times a unique client IP address accessed content"
    },
    {
        "id": 10112,
        "name": "Unique ClientIPs",
        "type": "count",
        "description": "The total number of unique client IP addresses used"
    },
    {
        "id": 10104,
        "name": "Unique Player ID",
        "type": "count",
        "description": "The total number of unique player IDs that requested content"
    },
    {
        "id": 10100,
        "name": "Unique Visitor",
        "type": "count",
        "description": "The total number of unique visitors that accessed content"
    },
    {
        "id": 10301,
        "name": "Viewers",
        "unit": "count",
        "type": "count",
        "description": "The total number of concurrent viewers accessing content"
    },
    {
        "id": 10106,
        "name": "Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total bandwidth used"
    }
]

List HTTP Content Delivery dimensions

Retrieves all available dimensions for HTTP Content Delivery.

GET /media-delivery-reports/v1/delivery/httpcd/dimensions

Status 200 application/json

Download schema: dimensions.json

Response body:

[
    {
        "id": 19001,
        "name": "CP Code",
        "description": "The identifier assigned to a contract used to manage a particular stream"
    },
    {
        "id": 19011,
        "name": "Canadian Province",
        "description": "The Canadian province, if applicable"
    },
    {
        "id": 19009,
        "name": "Country",
        "description": "The country"
    },
    {
        "id": 19004,
        "name": "Domain",
        "description": "The domain used to access content"
    },
    {
        "id": 19005,
        "name": "IP",
        "description": "The IP address assigned to the requesting client (clientIp)"
    },
    {
        "id": 19008,
        "name": "Language",
        "description": "The language used in the requested content"
    },
    {
        "id": 19501,
        "name": "Level",
        "description": "The level of the request"
    },
    {
        "id": 19006,
        "name": "OS",
        "description": "The operating system used"
    },
    {
        "id": 19003,
        "name": "Player",
        "description": "The media player used"
    },
    {
        "id": 19007,
        "name": "Player Id",
        "description": "The unique ID for the media player"
    },
    {
        "id": 19010,
        "name": "State",
        "description": "The geographic state or region, if applicable"
    },
    {
        "id": 19500,
        "name": "Subdirectories",
        "description": "Any subdirectories in the path for the request"
    },
    {
        "id": 19000,
        "name": "Time",
        "description": "This indicates the time at which content was consumed. Akamai automatically sets this dimension."
    },
    {
        "id": 19012,
        "name": "URL",
        "description": "The URL used"
    }
]

Get HTTP Content Delivery data

This lets you get all HTTP Content Delivery data for a specified range of time.

GET /media-delivery-reports/v1/delivery/httpcd/data{?dimensions,metrics,startDate,endDate,cpcodes,aggregation,filterParams,sortParams,enableCPCodeName}

Sample: /media-delivery-reports/v1/delivery/httpcd/data?dimensions=1%2C2%2C3&metrics=1%2C2%2C3&startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&cpcodes=12345%2C67890&aggregation=month&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%20%22values%22%3A%5B%22GB%22%5D%2C%20%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%20%7B%22type%22%3A%22metric%22%2C%20%22values%22%3A%5B16%5D%2C%20%22id%22%3A155%2C%20%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%20%22order%22%3A%22asc%22%2C%20%22id%22%3A40%7D%5D&enableCPCodeName=true

Parameter Type Sample Description
Required query parameters
dimensions String 1,2,3 Specify the dimensions to use for the report, as comma-separated IDs. You need to include at least the dimensions or metrics parameter, but you can include both if desired.
endDate String 2014-03-23T15:30Z The timestamp string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
metrics String 1,2,3 Specify the metrics to use for the report, as comma-separated IDs. You need to include at least the metrics or dimensions parameter, but you can include both if desired.
startDate String 2014-03-22T15:30Z The timestamp string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
aggregation String month The time period to group each data record, in seconds. You can use either a specific number of seconds, or use the keyword values day, week, month, or year. By default, reports for data ranging less than a day aggregate in five minute intervals. For up to 12 days, data aggregates hourly. For up to 30 days, data aggregates daily.
cpcodes String 12345,67890 Specifies the set of comma-delimited CP codes for which data is reported.
enableCPCodeName Boolean true If set to true, it returns the CP code along with its name.
filterParams String [{"type":"dimension", "values":["GB"], "id":4,"condition":"in"}, {"type":"metric", "values":[16], "id":155, "condition":"gt"}] A UTF–8 URL-encoded JSON object representing filter parameters that limit reported data. See the FilterParams object for details on its structure.
sortParams String [{"type":"metric", "order":"asc", "id":40}] A UTF–8 URL-encoded JSON object representing sort parameters that rearrange the reported data. See the SortParams object for details on its structure. When no sortParams are specified, the response is sorted chronologically for time based queries, or otherwise on the first metric.

Status 200 application/json

Download schema: delivery-Content-Delivery.json

Response body:

{
    "columns": [
        {
            "type": "string",
            "name": "Time",
            "description": "This indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "index": 0
        },
        {
            "type": "string",
            "name": "Avg Concurrent Streams",
            "id": 19001,
            "description": "The sum of average concurrent streams",
            "index": 1
        }
    ],
    "rows": [
        [
            "1543674600",
            "0.494"
        ],
        [
            "1543761000",
            "0.7"
        ],
        [
            "1543847400",
            "0.296"
        ],
        [
            "1543933800",
            "0.967"
        ],
        [
            "1544020200",
            "1.586"
        ],
        [
            "1544106600",
            "0.863"
        ],
        [
            "1544193000",
            "0.19"
        ],
        [
            "1544279400",
            "0.303"
        ],
        [
            "1544365800",
            "20.581"
        ],
        [
            "1544452200",
            "1.088"
        ],
        [
            "1544538600",
            "0.715"
        ],
        [
            "1544625000",
            "396.926"
        ],
        [
            "1544711400",
            "1151.529"
        ],
        [
            "1544797800",
            "1227.751"
        ],
        [
            "1544884200",
            "1240.823"
        ],
        [
            "1544970600",
            "1258.008"
        ],
        [
            "1545057000",
            "755.61"
        ]
    ],
    "metaData": {
        "startTimeInEpoch": 1543674600,
        "offset": 0,
        "dasTable": "strconcur_vod_F_time",
        "limit": 300,
        "timeZone": "GMT",
        "hasMoreData": false,
        "messages": [
            "Estimated data begins at 18/Dec/2018 05:00:00 GMT"
        ],
        "aggregationInSeconds": 86400,
        "rtWindow": 1545109200,
        "endTimeInEpoch": 1545143400
    }
}
  1. Run a List HTTP Content Delivery Downloads data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

List HTTP Downloads/File Downloads data stores

A data store is a collection of dimensions and metrics that you can use to configure a custom report. The HTTP Downloads/File Downloads “report pack” has its own unique data store. You can’t combine its dimensions and metrics with those in the report pack for another product. A response for this operation can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/list-data-stores-httpdl-media-delivery-200.json file.

GET /media-delivery-reports/v1/delivery/httpdl/data-stores

Status 200 application/json

Response body:

[
    {
        "id": 23002,
        "name": "csdact_-_F_time",
        "type": "standard",
        "description": "Table for httpdl Netsession Downloads",
        "dimensions": [
            {
                "id": 23000,
                "name": "Time",
                "description": "Indicates the time at which content was consumed.This dimension is set automatically.",
                "helpText": "Indicates the time at which content was consumed.This dimension is set automatically.",
                "dataType": "TIME",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23001,
                "name": "CP Code",
                "description": "Identifier assigned to a contract associated with a particular cpcode.",
                "helpText": "Identifier assigned to a contract associated with a particular cpcode.",
                "dataType": "CPCODE",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "metrics": [
            {
                "id": 23056,
                "name": "Paused",
                "type": "count",
                "description": "Paused",
                "dataType": "COUNT",
                "displayName": "Paused",
                "helpText": "Paused",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23057,
                "name": "Resumed",
                "type": "count",
                "description": "Resumed",
                "dataType": "COUNT",
                "displayName": "Resumed",
                "helpText": "Resumed",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23058,
                "name": "Downloads",
                "type": "count",
                "description": "Downloads",
                "dataType": "COUNT",
                "displayName": "Downloads",
                "helpText": "Downloads",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23053,
                "name": "Initiated",
                "type": "count",
                "description": "Initiated",
                "dataType": "COUNT",
                "displayName": "Initiated",
                "helpText": "Initiated",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23054,
                "name": "Certified Complete",
                "type": "count",
                "description": "Certified Complete",
                "dataType": "COUNT",
                "displayName": "Certified Complete",
                "helpText": "Certified Complete",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23055,
                "name": "Errors",
                "type": "count",
                "description": "Errors",
                "dataType": "COUNT",
                "displayName": "Errors",
                "helpText": "Errors",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "aggregationInSeconds": 300,
        "purgeIntervalInDays": 90,
        "maxQueryDurationInMinutes": 44640,
        "reportType": ""
    },
    {
        "id": 23020,
        "name": "geosummaryca_-_D_geoid",
        "type": "standard",
        "description": "Table for httpdl Canada locations Graph",
        "dimensions": [
            {
                "id": 23000,
                "name": "Time",
                "description": "Indicates the time at which content was consumed.This dimension is set automatically.",
                "helpText": "Indicates the time at which content was consumed.This dimension is set automatically.",
                "dataType": "TIME",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23001,
                "name": "CP Code",
                "description": "Identifier assigned to a contract associated with a particular cpcode.",
                "helpText": "Identifier assigned to a contract associated with a particular cpcode.",
                "dataType": "CPCODE",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23017,
                "name": "Canadian Province",
                "description": " Canadian Province",
                "helpText": "geoid",
                "dataType": "NUMBER",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "metrics": [
            {
                "id": 23200,
                "name": "OK Volume",
                "unit": "MB",
                "type": "volume",
                "description": "OK Volume",
                "dataType": "VOLUME",
                "displayName": "OK Volume",
                "helpText": "OK Volume",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23201,
                "name": "Initiated",
                "type": "count",
                "description": "Initiated",
                "dataType": "COUNT",
                "displayName": "Initiated",
                "helpText": "Initiated",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 23202,
                "name": "Completed",
                "type": "count",
                "description": "Completed",
                "dataType": "COUNT",
                "displayName": "Completed",
                "helpText": "Completed",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "aggregationInSeconds": 86400,
        "purgeIntervalInDays": 90,
        "maxQueryDurationInMinutes": 44640,
        "reportType": ""
    }
]

Get an HTTP Downloads/File Downloads data store

Specify a data store to fetch a list of its dimensions and metrics, as well as its aggregation interval, purge interval, maximum allowed query interval, and other details.

GET /media-delivery-reports/v1/delivery/httpdl/data-stores/{dataStoreId}

Sample: /media-delivery-reports/v1/delivery/httpdl/data-stores/23002

Parameter Type Sample Description
URL path parameters
dataStoreId Integer 23002 The unique identifier for a data store.

Status 200 application/json

Response body:

{
    "id": 23002,
    "name": "csdact_-_F_time",
    "type": "standard",
    "description": "Table for httpdl Netsession Downloads",
    "dimensions": [
        {
            "id": 23000,
            "name": "Time",
            "description": "Indicates the time at which content was consumed.This dimension is set automatically.",
            "helpText": "Indicates the time at which content was consumed.This dimension is set automatically.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 23001,
            "name": "CP Code",
            "description": "Identifier assigned to a contract associated with a particular cpcode.",
            "helpText": "Identifier assigned to a contract associated with a particular cpcode.",
            "dataType": "CPCODE",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 23056,
            "name": "Paused",
            "type": "count",
            "description": "Paused",
            "dataType": "COUNT",
            "displayName": "Paused",
            "helpText": "Paused",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 23057,
            "name": "Resumed",
            "type": "count",
            "description": "Resumed",
            "dataType": "COUNT",
            "displayName": "Resumed",
            "helpText": "Resumed",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 23058,
            "name": "Downloads",
            "type": "count",
            "description": "Downloads",
            "dataType": "COUNT",
            "displayName": "Downloads",
            "helpText": "Downloads",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 23053,
            "name": "Initiated",
            "type": "count",
            "description": "Initiated",
            "dataType": "COUNT",
            "displayName": "Initiated",
            "helpText": "Initiated",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 23054,
            "name": "Certified Complete",
            "type": "count",
            "description": "Certified Complete",
            "dataType": "COUNT",
            "displayName": "Certified Complete",
            "helpText": "Certified Complete",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 23055,
            "name": "Errors",
            "type": "count",
            "description": "Errors",
            "dataType": "COUNT",
            "displayName": "Errors",
            "helpText": "Errors",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 300,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640,
    "reportType": ""
}
  1. Run a List HTTP Downloads/File Downloads data stores operation and pull the id value assigned to the desired data store.

  2. Run this operation and include the id value as the {dataStoreId}.

List HTTP Downloads/File Downloads metrics

Retrieves all metrics available for HTTP Downloads/File Downloads.

GET /media-delivery-reports/v1/delivery/httpdl/metrics

Status 200 application/json

Download schema: metrics.json

Response body:

[
    {
        "id": 10212,
        "name": "0xx",
        "type": "count",
        "description": "The total number of `0xx` responses to requests"
    },
    {
        "id": 10213,
        "name": "200",
        "type": "count",
        "description": "The total number of `200` responses to requests"
    },
    {
        "id": 10214,
        "name": "206",
        "type": "count",
        "description": "The total number of `206` responses to requests"
    },
    {
        "id": 10215,
        "name": "2xx",
        "type": "count",
        "description": "The total number of `2xx` responses to requests"
    },
    {
        "id": 10216,
        "name": "302",
        "type": "count",
        "description": "The total number of `302` responses to requests"
    },
    {
        "id": 10217,
        "name": "304",
        "type": "count",
        "description": "The total number of `304` responses to requests"
    },
    {
        "id": 10218,
        "name": "3xx",
        "type": "count",
        "description": "The total number of `3xx` responses to requests"
    },
    {
        "id": 10221,
        "name": "401",
        "type": "count",
        "description": "The total number of `401` responses to requests"
    },
    {
        "id": 10219,
        "name": "404",
        "type": "count",
        "description": "The total number of `404` responses to requests"
    },
    {
        "id": 10222,
        "name": "408",
        "type": "count",
        "description": "The total number of `408` responses to requests"
    },
    {
        "id": 10220,
        "name": "4xx",
        "type": "count",
        "description": "The total number of `4xx` responses to requests"
    },
    {
        "id": 10223,
        "name": "5xx",
        "type": "count",
        "description": "The total number of `5xx` responses to requests"
    },
    {
        "id": 10224,
        "name": "6xx",
        "type": "count",
        "description": "The total number of `6xx` responses to requests"
    },
    {
        "id": 10306,
        "name": "Average Bit rate",
        "unit": "count",
        "type": "count",
        "description": "The average amount of data transferred"
    },
    {
        "id": 10107,
        "name": "Average Buffer Time",
        "type": "count",
        "description": "The average buffer time for a request"
    },
    {
        "id": 10102,
        "name": "Average Client Bandwidth",
        "type": "bandwidth",
        "description": "The average client bandwidth used per request"
    },
    {
        "id": 10101,
        "name": "Average Client Bandwidth in kbits/sec",
        "unit": "kbps",
        "type": "bandwidth",
        "description": "The average client bandwidth in kbps"
    },
    {
        "id": 10109,
        "name": "Average Clip Play Time",
        "type": "count",
        "description": "The average clip play time after all requests"
    },
    {
        "id": 10108,
        "name": "Average Packet Loss",
        "type": "count",
        "description": "The average packet loss experienced per request"
    },
    {
        "id": 10006,
        "name": "Average Play Time",
        "unit": "seconds",
        "type": "time",
        "description": "The average overall play time per request"
    },
    {
        "id": 10210,
        "name": "Avg Secs.",
        "type": "count",
        "description": "The overall average number of seconds per request"
    },
    {
        "id": 10232,
        "name": "Avg. Secs. Per Day",
        "type": "count",
        "description": "The average number of seconds for a request, on a daily basis"
    },
    {
        "id": 10002,
        "name": "Bytes",
        "unit": "MB",
        "type": "volume",
        "description": "The average number of megabytes served for a request"
    },
    {
        "id": 10014,
        "name": "Client-Abort Hits",
        "unit": "count",
        "type": "count",
        "description": "The total number of hits that were aborted by the client and a status code was never served for these requests"
    },
    {
        "id": 10009,
        "name": "Client-Disconnect Hits",
        "type": "count",
        "description": "The total number of client disconnects that resulted in an HTTP 408 response"
    },
    {
        "id": 10016,
        "name": "Concurrent Streams",
        "type": "count",
        "description": "The sum of the average of all concurrent streams"
    },
    {
        "id": 10302,
        "name": "Edge Bandwidth",
        "unit": "Mbps",
        "type": "bandwidth",
        "description": "The total amount of edge server bandwidth used"
    },
    {
        "id": 10008,
        "name": "Edge Traffic Hits",
        "unit": "count",
        "type": "count",
        "description": "The sum of egress traffic hits per second"
    },
    {
        "id": 10304,
        "name": "Edge Volume",
        "unit": "KB",
        "type": "volume",
        "description": "The total edge server volume used"
    },
    {
        "id": 10305,
        "name": "Egress Bit rate",
        "unit": "Mbps",
        "type": "bandwidth",
        "description": "The average Egress bit rate used"
    },
    {
        "id": 10251,
        "name": "Error Hits",
        "type": "count",
        "description": "The total number of hits that resulted in an error"
    },
    {
        "id": 10205,
        "name": "Error Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume of errors"
    },
    {
        "id": 10227,
        "name": "Error Volume Per Day",
        "unit": "MB",
        "type": "volume",
        "description": "The total error volume per day"
    },
    {
        "id": 10005,
        "name": "Flash Session Bytes",
        "unit": "MB",
        "type": "volume",
        "description": "The total number of Flash Session Bytes served"
    },
    {
        "id": 10209,
        "name": "GUIDs",
        "type": "count",
        "description": "The total number of Globally Unique Identifiers (GUIDs)"
    },
    {
        "id": 10231,
        "name": "GUIDs Per Day",
        "type": "count",
        "description": "The total number of GUIDs used on a daily basis"
    },
    {
        "id": 10105,
        "name": "Hits",
        "type": "count",
        "description": "The total number of hits"
    },
    {
        "id": 10208,
        "name": "IPs",
        "type": "count",
        "description": "The total number of IP addresses that made requests"
    },
    {
        "id": 10230,
        "name": "Ips Per Day",
        "type": "count",
        "description": "The total number of IP addresses that made requests per day"
    },
    {
        "id": 10000,
        "name": "Max Concurrent Streams",
        "type": "count",
        "description": "The sum of maximum concurrent streams"
    },
    {
        "id": 10011,
        "name": "Not-Found Hits",
        "type": "count",
        "description": "The total number of Not Found `404` errors"
    },
    {
        "id": 10401,
        "name": "OK Hits",
        "type": "count",
        "description": "The total number of `status OK` hits"
    },
    {
        "id": 10402,
        "name": "OK Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume of content delivered after `status OK` hits"
    },
    {
        "id": 10228,
        "name": "OK volume per day",
        "unit": "MB",
        "type": "volume",
        "description": "The total daily volume of content delivered after `status OK` hits"
    },
    {
        "id": 10015,
        "name": "Other Hits",
        "type": "count",
        "description": "The total number of hits that resulted in all `other` status codes"
    },
    {
        "id": 10207,
        "name": "Peak Conn.",
        "type": "count",
        "description": "The total number of peak connections"
    },
    {
        "id": 10229,
        "name": "Peak Conn. Per Day",
        "type": "count",
        "description": "The total number of peak connections per day"
    },
    {
        "id": 10012,
        "name": "Permission Hits",
        "type": "count",
        "description": "The total number `Permission Denied` hits that served the `400`, `401`, `403`, `433`, or `434` status codes"
    },
    {
        "id": 10211,
        "name": "Secs",
        "type": "count",
        "description": "The total amount of time in seconds for all client requests"
    },
    {
        "id": 10233,
        "name": "Secs Per Day",
        "type": "count",
        "description": "The average amount of time in seconds for client requests on a daily basis"
    },
    {
        "id": 10018,
        "name": "Server-Disconnect Hits",
        "type": "count",
        "description": "The total number of `Server-Disconnect` hits"
    },
    {
        "id": 10013,
        "name": "Server-Source-Error Hits",
        "type": "count",
        "description": "The total number of `Server Error` hits"
    },
    {
        "id": 10001,
        "name": "Total Hits",
        "unit": "Total Hits",
        "type": "count",
        "description": "The total number of Edge Traffic hits"
    },
    {
        "id": 10004,
        "name": "Total Play Time",
        "unit": "seconds",
        "type": "time",
        "description": "The total play time interval"
    },
    {
        "id": 10003,
        "name": "Total Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume delivered"
    },
    {
        "id": 10225,
        "name": "Total Volume Per Day",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume delivered per day"
    },
    {
        "id": 10226,
        "name": "URL hits per day",
        "type": "count",
        "description": "The total number of URL hits by date"
    },
    {
        "id": 10234,
        "name": "URL hits per day for 0xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `0xx` status code"
    },
    {
        "id": 10235,
        "name": "URL hits per day for 200 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `200` status code"
    },
    {
        "id": 10236,
        "name": "URL hits per day for 206 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `206` status code"
    },
    {
        "id": 10237,
        "name": "URL hits per day for 2xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `2xx` status code"
    },
    {
        "id": 10238,
        "name": "URL hits per day for 302 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `302` status code"
    },
    {
        "id": 10239,
        "name": "URL hits per day for 304 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `304` status code"
    },
    {
        "id": 10240,
        "name": "URL hits per day for 3xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `3xx` status code"
    },
    {
        "id": 10243,
        "name": "URL hits per day for 401 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `401` status code"
    },
    {
        "id": 10241,
        "name": "URL hits per day for 404 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `404` status code"
    },
    {
        "id": 10244,
        "name": "URL hits per day for 408 status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in the `408` status code"
    },
    {
        "id": 10242,
        "name": "URL hits per day for 4xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `4xx` status code"
    },
    {
        "id": 10245,
        "name": "URL hits per day for 5xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `5xx` status code"
    },
    {
        "id": 10246,
        "name": "URL hits per day for 6xx status code",
        "type": "count",
        "description": "The total number of URL hits by date, that resulted in a `6xx` status code"
    },
    {
        "id": 10103,
        "name": "Unique Client IP",
        "type": "count",
        "description": "The total number of times a unique client IP address accessed content"
    },
    {
        "id": 10112,
        "name": "Unique ClientIPs",
        "type": "count",
        "description": "The total number of unique client IP addresses used"
    },
    {
        "id": 10104,
        "name": "Unique Player ID",
        "type": "count",
        "description": "The total number of unique player IDs that requested content"
    },
    {
        "id": 10100,
        "name": "Unique Visitor",
        "type": "count",
        "description": "The total number of unique visitors that accessed content"
    },
    {
        "id": 10301,
        "name": "Viewers",
        "unit": "count",
        "type": "count",
        "description": "The total number of concurrent viewers accessing content"
    },
    {
        "id": 10106,
        "name": "Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total bandwidth used"
    }
]

List HTTP Downloads/File Downloads dimensions

Retrieves all dimensions available for HTTP Downloads/File Downloads.

GET /media-delivery-reports/v1/delivery/httpdl/dimensions

Status 200 application/json

Download schema: dimensions.json

Response body:

[
    {
        "id": 10001,
        "name": "CP Code",
        "description": "The identifier assigned to a contract used to manage a particular stream"
    },
    {
        "id": 10021,
        "name": "Canadian Province",
        "description": "The Canadian province (if applicable)"
    },
    {
        "id": 10019,
        "name": "Country",
        "description": "Country"
    },
    {
        "id": 10014,
        "name": "Domain",
        "description": "The domain used to access content"
    },
    {
        "id": 10009,
        "name": "Encoder IP",
        "description": "The IP address assigned to the Encoder used in delivery"
    },
    {
        "id": 10010,
        "name": "Entry Point",
        "description": "The IP address for the Entry Point used in delivery"
    },
    {
        "id": 10015,
        "name": "IP",
        "description": "The IP address assigned to the requesting client (clientip)"
    },
    {
        "id": 10018,
        "name": "Language",
        "description": "The language of the requested content"
    },
    {
        "id": 10016,
        "name": "OS",
        "description": "The operating system used"
    },
    {
        "id": 10013,
        "name": "Player",
        "description": "The media player used"
    },
    {
        "id": 10017,
        "name": "Player Id",
        "description": "The unique ID for the media player"
    },
    {
        "id": 10020,
        "name": "State",
        "description": "he geographic state or region, if applicable"
    },
    {
        "id": 10004,
        "name": "Stream ID",
        "description": "The unique ID assigned to a target stream"
    },
    {
        "id": 10005,
        "name": "Stream Name",
        "description": "The name set for the stream and then assigned to the `Stream ID`"
    },
    {
        "id": 10007,
        "name": "Stream Type",
        "description": "The stream format"
    },
    {
        "id": 10000,
        "name": "Time",
        "description": "This indicates the time at which content was consumed. Akamai automatically sets this dimension."
    },
    {
        "id": 10025,
        "name": "URL",
        "description": "The URL used"
    },
    {
        "id": 10024,
        "name": "Unique ClientIPs",
        "description": "The Unique Client IP addresses that have requested this content"
    },
    {
        "id": 10006,
        "name": "Unique End Point",
        "description": "The stream port value for each bit rate or unique end point"
    }
]

Get HTTP Downloads/File Downloads data

This lets you get all HTTP Downloads/File Downloads data for a specified range of time.

GET /media-delivery-reports/v1/delivery/httpdl/data{?startDate,endDate,cpcodes,enableCPCodeName}

Sample: /media-delivery-reports/v1/delivery/httpdl/data?startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&cpcodes=12345%2C67890&enableCPCodeName=true

Parameter Type Sample Description
Required query parameters
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
cpcodes String 12345,67890 Specifies the set of comma-delimited CP codes for which data is reported.
enableCPCodeName Boolean true If set to true, it returns the CP code along with its name.

Status 200 application/json

Download schema: delivery-filedownload-data.json

Response body:

{
    "columns": [
        {
            "type": "dimension",
            "name": "Time",
            "description": "This indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "index": 0
        },
        {
            "type": "metric",
            "name": "Hits",
            "description": "Total number of requests made to the entry point posting objects",
            "index": 1,
            "aggregate": "46055"
        }
    ],
    "rows": [
        [
            "1471737600",
            "158"
        ],
        [
            "1471737720",
            "138"
        ],
        [
            "1471737840",
            "183"
        ],
        [
            "1471737960",
            "158"
        ],
        [
            "1471738080",
            "163"
        ],
        [
            "1471738200",
            "155"
        ]
    ],
    "metaData": {
        "startTimeInEpoch": 1471737600,
        "offset": 0,
        "limit": 300,
        "timeZone": "GMT",
        "hasMoreData": true,
        "aggregationInSeconds": 120,
        "endTimeInEpoch": 1471860000
    }
}
  1. Run a List HTTP Downloads/File Downloads data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

List Object Caching Delivery Data data stores

A data store is a collection of dimensions and metrics that you can use to configure a custom report. The Object Caching “report pack” has its own unique data store. You can’t combine its dimensions and metrics with those in the report pack for another product. A response for this operation can be very long, so the example here is truncated. To see a full response, download this API’s descriptors and view the examples/list-data-stores-ocp-media-delivery-200.json file.

GET /media-delivery-reports/v1/delivery/ocp/data-stores

Status 200 application/json

Response body:

[
    {
        "id": 25027,
        "name": "ca_-_D_visitor",
        "type": "standard",
        "description": "ca_-_D_visitor",
        "dimensions": [
            {
                "id": 25027,
                "name": "Time",
                "description": "Indicates the time at which content was consumed.This dimension is set automatically.",
                "helpText": "Indicates the time at which content was consumed.This dimension is set automatically.",
                "dataType": "TIME",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25028,
                "name": "CP Code",
                "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
                "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
                "dataType": "CPCODE",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25029,
                "name": "number",
                "description": "htp flag",
                "helpText": "htp flag",
                "dataType": "NUMBER",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25030,
                "name": "Canadian Province",
                "description": "Canadian Province",
                "helpText": "geoid",
                "dataType": "NUMBER",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "metrics": [
            {
                "id": 25048,
                "name": "Visitors",
                "type": "count",
                "description": "Visitors",
                "dataType": "COUNT",
                "helpText": "Visitors",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25049,
                "name": "Ok Hits",
                "type": "count",
                "description": "Ok Hits",
                "dataType": "COUNT",
                "helpText": "Ok Hits",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25050,
                "name": "Ok Volume",
                "unit": "MB",
                "type": "volume",
                "description": "Ok Volume",
                "dataType": "VOLUME",
                "displayName": "Ok Volume",
                "helpText": "Ok Volume",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "aggregationInSeconds": 86400,
        "purgeIntervalInDays": 90,
        "maxQueryDurationInMinutes": 44640,
        "reportType": ""
    },
    {
        "id": 25029,
        "name": "country_-_D_visitor",
        "type": "standard",
        "description": "country_-_D_visitor",
        "dimensions": [
            {
                "id": 25027,
                "name": "Time",
                "description": "Indicates the time at which content was consumed.This dimension is set automatically.",
                "helpText": "Indicates the time at which content was consumed.This dimension is set automatically.",
                "dataType": "TIME",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25028,
                "name": "CP Code",
                "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
                "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
                "dataType": "CPCODE",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25029,
                "name": "number",
                "description": "htp flag",
                "helpText": "htp flag",
                "dataType": "NUMBER",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25038,
                "name": "Country",
                "description": "Country",
                "helpText": "geoid",
                "dataType": "NUMBER",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "metrics": [
            {
                "id": 25043,
                "name": "Ok Hits",
                "type": "count",
                "description": "Ok Hits",
                "dataType": "COUNT",
                "helpText": "Ok Hits",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25044,
                "name": "Ok Volume",
                "unit": "MB",
                "type": "volume",
                "description": "Ok Volume",
                "dataType": "VOLUME",
                "displayName": "Ok Volume",
                "helpText": "Ok Volume",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25037,
                "name": "Ok Hits",
                "type": "count",
                "description": "Ok Hits",
                "dataType": "COUNT",
                "helpText": "Ok Hits",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25038,
                "name": "Ok Volume",
                "unit": "MB",
                "type": "volume",
                "description": "Ok Volume",
                "dataType": "VOLUME",
                "displayName": "Ok Volume",
                "helpText": "Ok Volume",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            },
            {
                "id": 25039,
                "name": "Visitors",
                "type": "count",
                "description": "Visitors",
                "dataType": "COUNT",
                "helpText": "Visitors",
                "group": [
                    {
                        "id": -1,
                        "name": "OTHERS",
                        "description": "OTHERS"
                    }
                ]
            }
        ],
        "aggregationInSeconds": 86400,
        "purgeIntervalInDays": 90,
        "maxQueryDurationInMinutes": 44640,
        "reportType": ""
    }
]

Get an Object Caching Delivery Data data store

Specify a data store to fetch a list of its dimensions and metrics, as well as its aggregation interval, purge interval, maximum allowed query interval, and other details.

GET /media-delivery-reports/v1/delivery/ocp/data-stores/{dataStoreId}

Sample: /media-delivery-reports/v1/delivery/ocp/data-stores/25027

Parameter Type Sample Description
URL path parameters
dataStoreId Integer 25027 The unique identifier for a data store.

Status 200 application/json

Response body:

{
    "id": 25027,
    "name": "ca_-_D_visitor",
    "type": "standard",
    "description": "ca_-_D_visitor",
    "dimensions": [
        {
            "id": 25027,
            "name": "Time",
            "description": "Indicates the time at which content was consumed.This dimension is set automatically.",
            "helpText": "Indicates the time at which content was consumed.This dimension is set automatically.",
            "dataType": "TIME",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 25028,
            "name": "CP Code",
            "description": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "helpText": "Content Provider Code (CPCode) is an identifier assigned to a contract and used for reporting, billing and monitoring traffic served.",
            "dataType": "CPCODE",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 25029,
            "name": "number",
            "description": "htp flag",
            "helpText": "htp flag",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 25030,
            "name": "Canadian Province",
            "description": "Canadian Province",
            "helpText": "geoid",
            "dataType": "NUMBER",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "metrics": [
        {
            "id": 25048,
            "name": "Visitors",
            "type": "count",
            "description": "Visitors",
            "dataType": "COUNT",
            "helpText": "Visitors",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 25049,
            "name": "Ok Hits",
            "type": "count",
            "description": "Ok Hits",
            "dataType": "COUNT",
            "helpText": "Ok Hits",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        },
        {
            "id": 25050,
            "name": "Ok Volume",
            "unit": "MB",
            "type": "volume",
            "description": "Ok Volume",
            "dataType": "VOLUME",
            "displayName": "Ok Volume",
            "helpText": "Ok Volume",
            "group": [
                {
                    "id": -1,
                    "name": "OTHERS",
                    "description": "OTHERS"
                }
            ]
        }
    ],
    "aggregationInSeconds": 86400,
    "purgeIntervalInDays": 90,
    "maxQueryDurationInMinutes": 44640,
    "reportType": ""
}
  1. Run a List Object Caching Delivery Data data stores operation and pull the id value assigned to the desired data store.

  2. Run this operation and include the id value as the {dataStoreId}.

List Object Caching metrics

Retrieves all the metrics available for delivery with Object Caching.

GET /media-delivery-reports/v1/delivery/ocp/metrics

Status 200 application/json

Download schema: metrics.json

Response body:

[
    {
        "id": 25007,
        "name": "0xx Hits",
        "type": "count",
        "description": "The total number of `0xx` responses to edge server requests for cached objects"
    },
    {
        "id": 25032,
        "name": "200 Hits",
        "type": "count",
        "description": "The total number of `200` responses to edge server requests for cached objects"
    },
    {
        "id": 25008,
        "name": "Edge 0xx Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day to an edge server that resulted in any `0xx` response"
    },
    {
        "id": 25011,
        "name": "Edge 206 Hits",
        "type": "count",
        "description": "The total number of cache hits to an edge server that resulted in a `206` response"
    },
    {
        "id": 25012,
        "name": "Edge 206 Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day to an edge server that resulted in a `206` response"
    },
    {
        "id": 25009,
        "name": "Edge 2xx Hits",
        "type": "count",
        "description": "The total number of cache hits to an edge server that resulted in any `2xx` response"
    },
    {
        "id": 25010,
        "name": "Edge 2xx Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day to an edge server that resulted in any `2xx` response"
    },
    {
        "id": 25017,
        "name": "Edge 302 Hits",
        "type": "count",
        "description": "The total number of cache hits to an edge server that resulted in a `302` response"
    },
    {
        "id": 25018,
        "name": "Edge 302 Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day to an edge server that resulted in a `302` response"
    },
    {
        "id": 25019,
        "name": "Edge 304 Hits",
        "type": "count",
        "description": "The total number of cache hits to an edge server that resulted in a `304` response"
    },
    {
        "id": 25020,
        "name": "Edge 304 Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day to an edge server that resulted in a `304` response"
    },
    {
        "id": 25013,
        "name": "Edge 3xx Hits",
        "type": "count",
        "description": "The total number of cache hits to an edge server that resulted in any `3xx` response"
    },
    {
        "id": 25014,
        "name": "Edge 3xx Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day to an edge server that resulted in any `3xx` response"
    },
    {
        "id": 25021,
        "name": "Edge 404 Hits",
        "type": "count",
        "description": "The total number of cache hits to an edge server that resulted in a `404` response"
    },
    {
        "id": 25022,
        "name": "Edge 404 Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day to an edge server that resulted in a `404` response"
    },
    {
        "id": 25015,
        "name": "Edge 4xx Hits",
        "type": "count",
        "description": "The total number of cache hits to an edge server that resulted in any `4xx` response"
    },
    {
        "id": 25016,
        "name": "Edge 4xx Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day to an edge server that resulted in any `4xx` response"
    },
    {
        "id": 25000,
        "name": "Edge Hits",
        "type": "count",
        "description": "The total number of cache hits to edge servers"
    },
    {
        "id": 25002,
        "name": "Edge Hits Per Day",
        "type": "count",
        "description": "Total number of cache hits to edge servers per day."
    },
    {
        "id": 25001,
        "name": "Edge Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The overall volume of cache requests served by edge servers"
    },
    {
        "id": 25005,
        "name": "Error Hits",
        "type": "count",
        "description": "The total number of cache hits that resulted in an error"
    },
    {
        "id": 25006,
        "name": "Error Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day, that resulted in an error"
    },
    {
        "id": 25031,
        "name": "Error Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume of content served after a cache hit error"
    },
    {
        "id": 25003,
        "name": "OK Hits",
        "type": "count",
        "description": "The total number of cache hits that resulted in an `OK` response"
    },
    {
        "id": 25004,
        "name": "OK Hits Per Day",
        "type": "count",
        "description": "The total number of cache hits per day, that resulted in an `OK` response"
    },
    {
        "id": 25030,
        "name": "OK Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume of content served after `OK` response cache hits"
    },
    {
        "id": 25034,
        "name": "Offloaded Hits",
        "type": "count",
        "description": "The total number of hits that resulted in offload of cached content"
    },
    {
        "id": 25036,
        "name": "Origin Error Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume of content served after an origin hit error"
    },
    {
        "id": 25033,
        "name": "Origin Hits",
        "type": "count",
        "description": "The total number of hits that targeted an origin to obtain content"
    },
    {
        "id": 25035,
        "name": "Origin OK Volume",
        "unit": "MB",
        "type": "volume",
        "description": "The total volume of content delivered from an origin after a hit that resulted in an `OK` response"
    },
    {
        "id": 25048,
        "name": "Visitors",
        "type": "count",
        "description": "The total number of unique visitors that made cache hit requests"
    }
]

List Object Caching dimensions

Retrieves all the dimensions available for delivery with Object Caching.

GET /media-delivery-reports/v1/delivery/ocp/dimensions

Status 200 application/json

Download schema: dimensions.json

Response body:

[
    {
        "id": 19001,
        "name": "CP Code",
        "description": "The identifier assigned to a contract used to manage a particular stream"
    },
    {
        "id": 19011,
        "name": "Canadian Province",
        "description": "The Canadian province (if applicable)"
    },
    {
        "id": 19009,
        "name": "Country",
        "description": "The country"
    },
    {
        "id": 19004,
        "name": "Domain",
        "description": "The domain used to access content"
    },
    {
        "id": 19005,
        "name": "IP",
        "description": "The IP address assigned to the requesting client (clientip)"
    },
    {
        "id": 19008,
        "name": "Language",
        "description": "The language of the requested content"
    },
    {
        "id": 19501,
        "name": "Level",
        "description": "The level of the request"
    },
    {
        "id": 19006,
        "name": "OS",
        "description": "The operating system used"
    },
    {
        "id": 19003,
        "name": "Player",
        "description": "The media player used"
    },
    {
        "id": 19007,
        "name": "Player Id",
        "description": "The unique ID for the media player"
    },
    {
        "id": 19010,
        "name": "State",
        "description": "The geographic state or region, if applicable"
    },
    {
        "id": 19500,
        "name": "Subdirectories",
        "description": "Any subdirectories in the path for the request"
    },
    {
        "id": 19000,
        "name": "Time",
        "description": "This indicates the time at which content was consumed. Akamai automatically sets this dimension."
    },
    {
        "id": 19012,
        "name": "URL",
        "description": "The URL used"
    }
]

Get Object Caching data

This lets you get all Object Caching data for a specified range of time.

GET /media-delivery-reports/v1/delivery/ocp/data{?startDate,endDate,cpcodes,trafficOption,enableCPCodeName}

Sample: /media-delivery-reports/v1/delivery/ocp/data?startDate=2014-03-22T15%3A30Z&endDate=2014-03-23T15%3A30Z&cpcodes=12345%2C67890&trafficOption=http&enableCPCodeName=true

Parameter Type Sample Description
Required query parameters
endDate String 2014-03-23T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
startDate String 2014-03-22T15:30Z The start date string in ISO 8601 format yyyy-MM-ddTHH:mmZ or yyyy-MM-ddTHH:mm+HH:mm.
Optional query parameters
cpcodes String 12345,67890 Specifies the set of comma-delimited CP codes for which data is reported.
enableCPCodeName Boolean true If set to true, it returns the CP code along with its name.
trafficOption Enumeration http Limits data to the type of traffic: http for non-secure traffic, ssl for secure shared-certificate traffic, sslc for secure customer-certificate traffic, or all to specify all.

Status 200 application/json

Download schema: delivery-object-caching.json

Response body:

{
    "columns": [
        {
            "type": "dimension",
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "index": 0
        },
        {
            "type": "metric",
            "name": "Concurrent Streams",
            "id": 10016,
            "description": "The sum of average concurrent streams",
            "index": 1,
            "aggregate": "3141454.39"
        }
    ],
    "rows": [
        [
            "1543674600",
            "186575.959"
        ],
        [
            "1543761000",
            "185988.34"
        ],
        [
            "1543847400",
            "184741.378"
        ],
        [
            "1543933800",
            "180774.639"
        ],
        [
            "1544020200",
            "181598.317"
        ],
        [
            "1544106600",
            "184538.753"
        ],
        [
            "1544193000",
            "190988.807"
        ],
        [
            "1544279400",
            "187612.032"
        ],
        [
            "1544365800",
            "179426.637"
        ],
        [
            "1544452200",
            "178335.044"
        ],
        [
            "1544538600",
            "183263.786"
        ],
        [
            "1544625000",
            "183384.385"
        ],
        [
            "1544711400",
            "183790.081"
        ],
        [
            "1544797800",
            "189211.628"
        ],
        [
            "1544884200",
            "186208.98"
        ],
        [
            "1544970600",
            "189176.899"
        ],
        [
            "1545057000",
            "185838.721"
        ]
    ],
    "metaData": {
        "startTimeInEpoch": 1543674600,
        "offset": 0,
        "dasTable": "strconcur_live_F_time",
        "limit": 300,
        "timeZone": "GMT",
        "hasMoreData": false,
        "messages": [
            "Estimated data begins at 19/Dec/2018 02:00:00 GMT"
        ],
        "aggregationInSeconds": 86400,
        "rtWindow": 1545184800,
        "endTimeInEpoch": 1545143400
    }
}
  1. Run a List Object Caching Delivery Data data stores operation to get your available collection of data stores, and pull id values assigned to desired metrics and dimensions.

  2. Run this operation and include comma-separated strings of your desired metrics and dimensions id values in the query string, as well as a desired startDate and endDate for the operation. Include at least one of the metrics or dimensions parameters, or you can include both.

  3. Include other optional query parameters in the string, if desired.

Data

This section describes the Media Delivery Reports API’s various data structures.

Download the JSON schemas for this API.

This section’s data schema tables list membership requirements as follows:

Member is required in requests, or always present in responses, even if its value is empty or null.
Member is optional, and may be omitted in some cases.

Report

Encapsulates a media services data report for various delivery types.

Download schema: mediaServicesData.json

Sample GET:

{
    "columns": [
        {
            "type": "dimension",
            "name": "Time",
            "description": "Indicates the time at which content was consumed. Akamai automatically sets this dimension.",
            "index": 0
        },
        {
            "type": "metric",
            "name": "Hits",
            "description": "Hits",
            "index": 1,
            "aggregate": "46055"
        }
    ],
    "rows": [
        [
            "1471737600",
            "158"
        ],
        [
            "1471737720",
            "138"
        ],
        [
            "1471737840",
            "183"
        ],
        [
            "1471737960",
            "158"
        ],
        [
            "1471738080",
            "163"
        ],
        [
            "1471738200",
            "155"
        ]
    ],
    "metaData": {
        "startTimeInEpoch": 1471737600,
        "offset": 0,
        "limit": 300,
        "timeZone": "GMT",
        "hasMoreData": true,
        "aggregationInSeconds": 120,
        "endTimeInEpoch": 1471860000
    }
}

Report members

Member Type Required Description
Report: Encapsulates a media services data report for various delivery types.
columns Report.columns[] Provides context for each element listed within corresponding rows.
metaData Report.metaData Reflects parameter values included in the request that determines this report’s results.
rows Array Encapsulates the report’s two-dimensional table data. Empty rows are displayed if there’s no data to report.
Report.columns[]: Provides context for each element listed within corresponding rows.
aggregate String Provides the aggregate value for the dimension or metric, expressed in string format. For example, if type is metric and name is Hits, this would provide the number of hits for each row of data.
description String Provides information about the relevant dimension or metric.
index Number Positions each column within the table.
name String Depending on the type, provides the name of the relevant dimension or metric.
type Enumeration Type of data, either dimension or metric.
Report.metaData: Reflects parameter values included in the request that determines this report’s results.
aggregation Number The time span included in each record, expressed in seconds.
dataCompleteTill Number The report gathered data up until this point in time, which is displayed in epoch time. This is only available for use with non real-time API requests.
endTimeInEpoch Number The end of the requested time range, in epoch seconds.
hasMoreData Boolean Whether a constrained set of requested data represents the entire set.
limit Number The maximum number of requested data rows.
offset Number The offset of the row from which the data should start. Used with the overall limit, it reflects where a batch of data starts. For example, setting both offset and limit to 100 selects rows 101–200 from the overall results.
rtWindow Number Deprecated. The report gathered data up until this point in time, which is displayed in epoch time. This is only available for use with non real-time API requests. This has been replaced by dataCompleteTill.
startTimeInEpoch Number The start of the requested time range, in epoch seconds.
timeZone String Identifies the time zone from which the request was made.

FilterParams

Encapsulates filtering parameters, which are wrapped in an array, URL-encoded, and passed in with GET requests using the filterParams query parameter.

Download schema: filter-params.json

Sample non-encoded parameter value, expanded:

[
    {
        "condition": "in",
        "id": 4,
        "type": "dimension",
        "values": [
            "GB"
        ]
    },
    {
        "condition": "gt",
        "id": 155,
        "type": "metric",
        "values": [
            16
        ]
    }
]

FilterParams members

Member Type Required Description
FilterParams: Encapsulates filtering parameters, which are wrapped in an array, URL-encoded, and passed in with GET requests using the filterParams query parameter.
condition Enumeration The condition specifier. For dimensions: in, nin (in or not in), contains, ncontains (does or doesn’t contain), starts, nstarts (does or doesn’t start with), ends, nends (does or doesn’t end with). For metrics: eq, neq (equal or not), gt (greater than), gte (greater than or equal), lt (less than), lte (less than or equal).
id Integer The ID of the filtering dimension or a metric.
type Enumeration Specifies whether the parameter ID provided is a dimension or a metric.
values Array List of values used to filter the result. Several values are treated as inclusions. For exclusions use another filter object with appropriate values. Use the two-character country code to filter Media Delivery Reports data by location. Akamai maintains country code values in the EdgeScape Data Codes lists on Akamai Control Center.

SortParams

Encapsulates sorting parameters, which are wrapped in an array, URL-encoded, and passed in with GET requests using the sortParams query parameter.

Download schema: sort-params.json

Sample non-encoded parameter value, expanded:

{
    "id": 40,
    "order": "asc",
    "type": "metric"
}

SortParams members

Member Type Required Description
SortParams: Encapsulates sorting parameters, which are wrapped in an array, URL-encoded, and passed in with GET requests using the sortParams query parameter.
id Integer The ID of the sorting entity. It should also be part of the query parameter metrics or dimensions.
order Enumeration Either asc for ascending or desc for descending sort order.
type Enumeration Specifies whether the parameter ID provided is a dimension or a metric.

Errors

This section provides details on the format of error response objects the Media Delivery Reports API generates. It also lists the range of HTTP response codes for both error and success cases.

Error response codes

API operations routinely respond with failure codes to a wide range of problems with the integrity of the data you’re trying to modify. The API returns HTTP response codes that correspond to the status element in the JSON response, eliminating the need to query the header for the response code. The API responds with a JSON object that looks like this:

{
    "status": "400",
    "instance": "49046f42-f51f-403b-be60-6fb8179aa1d2",
    "detail": "Start date and End date are same",
    "title": "Bad Request"
}

HTTP status codes

The API responds with these HTTP status codes for both success and failure scenarios:

Code Description
200 OK. Empty rows are returned in the response body when there’s no available data.
400 Bad Request.
401 Authentication failure.
403 Access is forbidden.
404 Resource not found.
405 Request method not expected. This API only offers GET operations.
409 Conflict.
410 Requested resource is no longer available.
411 Content-length header not specified.
413 Request body exceeds maximum allowable size.
423 Requested resource is locked.
429 Too many requests.
500 Internal server error.
501 Not supported.
503 Too many requests. Service is temporarily unavailable.
507 Data size is over allowable limit.