Media Analytics API Resources

API Summary

Operation Method Endpoint
Audience Analytics
List Audience Analytics Report Packs GET /media-analytics/v1/audience-analytics/report-packs
Get a Audience Analytics Report Pack GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}
List Audience Analytics Data Stores GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}/data-stores
Get a Audience Analytics Data Store GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}/data-stores/{dataStoreId}
List Audience Analytics Data Sources GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}/data-sources
Get Audience Analytics Report Data GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}/data{?startDate,endDate,aggregation,dimensions,metrics,limit,offset,filterParams,sortParams}
QoS Monitor
List QoS Monitor Report Packs GET /media-analytics/v1/qos-monitor/report-packs
Get a QoS Monitor Report Pack GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}
List QoS Monitor Data Stores GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}/data-stores
Get a QoS Monitor Data Store GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}/data-stores/{dataStoreId}
List QoS Monitor Data Sources GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}/data-sources
Get QoS Monitor Report Data GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}/data{?startDate,endDate,aggregation,dimensions,metrics,limit,offset,filterParams,sortParams}
Viewer Diagnostics
List Viewer Diagnostics Report Packs GET /media-analytics/v1/viewer-diagnostics/report-packs
Get a Viewer Diagnostics Report Pack GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}
List Viewer Diagnostics Data Stores GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}/data-stores
Get a Viewer Diagnostics Data Store GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}/data-stores/{dataStoreId}
List Viewer Diagnostics Data Sources GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}/data-sources
Get Viewer Diagnostics Report Data GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}/viewers/{viewerId}/data{?startDate,endDate,aggregation,dimensions,metrics,limit,offset,filterParams,sortParams}
Download Analytics
List Download Analytics Report Packs GET /media-analytics/v1/download-analytics/report-packs
Get a Download Analytics Report Pack GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}
List Download Analytics Data Stores GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}/data-stores
Get a Download Analytics Data Store GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}/data-stores/{dataStoreId}
List Download Analytics Data Sources GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}/data-sources
Get Download Analytics Report Data GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}/data{?startDate,endDate,aggregation,dimensions,metrics,limit,offset,filterParams,sortParams}

List Audience Analytics Report Packs

Returns name, id, and timezone for all report packs created for your account.

GET /media-analytics/v1/audience-analytics/report-packs

Status 200 application/json

Response:

[
    {
        "id": 26273,
        "name": "TestingAudience",
        "isActive": true,
        "type": "ma",
        "subType": "Audience Analytics",
        "timezone": "GMT"
    },
    {
        "id": 5538,
        "name": "Live Streams",
        "isActive": true,
        "type": "ma",
        "subType": "Audience Analytics",
        "timezone": "EST5EDT"
    }
]

Relevant data members:

Member Type Description
id Number ID of the report pack.
name String Name of the report pack.
timezone String Timezone in which the data is returned.
type String This is an internal member.
subType String The type of the report-pack.

Get a Audience Analytics Report Pack

Details include name of the report pack, data sources, and metrics and dimensions used in the report pack.

GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}

Example: /media-analytics/v1/audience-analytics/report-packs/26273

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack

Status 200 application/json

Response:

{
    "id": 26273,
    "name": "TestingAudience",
    "isActive": true,
    "type": "ma",
    "subType": "Audience Analytics",
    "dataSources": [ { "id": 1336, "name": "Audience Analytics Data Source" } ],
    "dimensions": [
        { "id": 958, "name": "Live VOD 24x7", "type": "custom" },
        { "id": 956, "name": "Max Bitrate (Visit)", "type": "standard" },
        { "id": 957, "name": "Player Id", "type": "standard" }
    ],
    "metrics": [
        { "id": 546, "name": "Peeks" },
        { "id": 544, "name": "Play Duration per Visit" },
        { "id": 3, "name": "Sessions" }
    ],
    "filters": null,
    "dataStores": [
        {
            "id": 939,
            "name": "sample cube 1",
            "type": "standard",
            "description": "Sample Description"
        },
        {
            "id": 952,
            "name": "sample cube 2",
            "type": "custom",
            "description": "Sample Description"
        }
    ],
    "timezone": "GMT"
}

Relevant data members:

Member Type Description
id Number ID of the report pack.
name String Name of the report pack.
dataSources Array All data sources for the report pack. A data source is a collection of raw log data with detailed information on each access to your digital property made by a user. Each data source object provides information on name of the data source and its ID.
dimensions Array All dimensions for the report pack. A dimension acts like a key in data exploration. It answers questions such as who, what, where, which. Each dimension object provides information on the name, type and ID of the dimension.
metrics Array All metrics for the report pack. A metric is a numeric aggregation against one or more dimensions. Each metric object provides information on the name and ID of the metric. It answers questions on volume of activity or attack.
dataStores Array All data stores for the report pack. A data store is a collection of dimensions and metrics stored in a data base. Each data store object provides information on the name, type, short description and ID of the data store.
timezone String Timezone in which the data is returned.
filters Array The filters applied on the data captured in the report pack.
type String This is an internal member.
subType String The type of the report-pack.

List Audience Analytics Data Stores

A data store is a collection of dimensions and metrics stored in a database that you can use to create a sub-set and configure reports suited to your requirements. Data store details help you determine the combination of dimensions and metrics to query. Each report pack comes with its standard data stores. You cannot combine dimensions and metrics across data stores.

GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}/data-stores

Example: /media-analytics/v1/audience-analytics/report-packs/26273/data-stores

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

[
    {
        "id": 705,
        "name": "sample data store",
        "type": "standard",
        "dimensions": [
            {
                "id": 23,
                "name": "Continent",
                "type": "standard",
                "description": "Automatically set to the viewer\\'s continent based on mapping of the viewer\\'s IP address to their location by the Akamai EdgeScape service."
            },
            {
                "id": 9320,
                "name": "Device",
                "type": "standard",
                "description": "Can store the type of device used by the viewer, such as iPhone, iPad, PC. Use less than 10 values or the dimension will have too many values to provide helpful insights."
            },
            {
                "id": 122,
                "name": "Time",
                "type": "standard",
                "description": "Set automatically and indicates the Timestamp at which content was consumed and is converted to the time zone set during report pack configuration."
            }
        ],
        "metrics": [
            {
                "id": 5338,
                "name": "Plays per Viewer (Daily)",
                "description": "Plays divided by Daily Viewers"
            },
            {
                "id": 832,
                "name": "Startup Time",
                "description": "Average time between the initial play attempt and the first rendered frame, in seconds."
            },
            {
                "id": 5421,
                "name": "Visits per Viewer (Daily)",
                "description": "Sum of visits across viewers divided by the number of daily viewers"
            }
        ],
        "aggregation": 3600,
        "purgeIntervalInDays": 390,
        "maxQueryDurationInMinutes": 1440,
        "description": "Sample 1"
    },
    {
        "id": 766,
        "name": "sample data store 2",
        "type": "standard",
        "dimensions": [
            {
                "id": 2,
                "name": "Continent",
                "type": "standard",
                "description": "Automatically set to the viewer\\'s continent based on mapping of the viewer\\'s IP address to their location by the Akamai EdgeScape service."
            },
            {
                "id": 4,
                "name": "Country",
                "type": "standard",
                "description": "Automatically set to the viewer\\'s country based on mapping of the viewer\\'s IP address to their location by the Akamai EdgeScape service."
            }
        ],
        "metrics": [
            {
                "id": 542,
                "name": "Plays per Visit (Play Level)",
                "description": "Plays divided by Visits."
            },
            {
                "id": 544,
                "name": "Play Duration per Visit",
                "description": "Play Duration divided by (Sum of) Visits."
            }
        ],
        "aggregation": 86400,
        "purgeIntervalIndays": 390,
        "maxQueryDurationInMinutes": 1440,
        "description": "Sample 2"
    }
]

Relevant data members:

Member Type Description
id Number ID of the data store.
name String Name of the data store.
type String Type of data store (standard or custom).
dimensions Array All dimensions for the data store. A dimension acts like a key in data exploration. It answers questions such as who, what, where, which. Each dimension object provides information on the ID, name, type and description of the dimension.
metrics Array All metrics for the data store. A metric is a numeric aggregation against one or more dimensions. It answers questions on volume of activity or attack. Each metric object provides information on the name, description and ID of the metric.
aggregation Number Time (seconds) over which data is aggregated.
purgeIntervalInDays Number Number of days for which the data store keeps data.
maxQueryDurationInMinutes Number Maximum duration (in minutes) for which a user can query a data store. It is a system-imposed limit for better performance.
description String Text describing the data store.

Get a Audience Analytics Data Store

Details include list of dimensions, list of metrics, aggregation interval, purge interval, maximum allowed query interval and so on.

GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}/data-stores/{dataStoreId}

Example: /media-analytics/v1/audience-analytics/report-packs/26273/data-stores/307

Parameter Type Sample Description
Required
dataStoreId Number 307 The ID of the data store.
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

{
    "id": 175,
    "name": "Sample data store 175",
    "type": "standard",
    "dimensions": [
        {
            "id": 5,
            "name": "Region",
            "description": "Automatically set to the viewer\\'s state (US-only) or region based on mapping of the viewer\\'s IP address to their location by the Akamai EdgeScape service."
        },
        {
            "id": 6,
            "name": "City",
            "description": "Automatically set to the viewer\\'s city based on mapping of the viewer\\'s IP address to their location by the Akamai EdgeScape service."
        }
    ],
    "metrics": [
        {
            "id": 542,
            "name": "Plays per Visit (Play Level)",
            "description": "Plays divided by Visits."
        },
        {
            "id": 544,
            "name": "Play Duration per Visit",
            "description": "Play Duration divided by (Sum of) Visits."
        }
    ],
    "aggregation": 3600,
    "purgeIntervalInDays": 390,
    "maxQueryDurationInMinutes": 1440,
    "description": "Sample description"
}

Relevant data members:

Member Type Description
id Number Data Store ID.
name String Data Store name.
type String Type of Data Store (standard or custom).
dimensions Array All dimensions for the Data Store. A dimension acts like a key in data exploration. Each dimension object provides information on ID, name, type and description of the dimension. It answers questions such as who, what, where, which.
metrics Array All metrics for the Data Store. A metric is a numeric aggregation against one or more dimensions. Each metric object provides information on the name, description and ID of the metric. It answers questions on volume of activity or attack.
aggregation Number Time (seconds) over which data is aggregated.
purgeIntervalInDays Number Number of days for which the data store keeps data.
maxQueryDurationInMinutes Number Maximum duration (in minutes) for which a user can query a Data Store.
description String Text describing the Data Store.

List Audience Analytics Data Sources

A data source is a collection of raw log data with detailed information on each access to your digital property made by a user.

GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}/data-sources

Example: /media-analytics/v1/audience-analytics/report-packs/26273/data-sources

Parameter Type Sample Description
Required
reportPackId Number 26273 Report pack ID.

Status 200 application/json

Response:

[
    {
        "id": 223,
        "name": "DataSource_1",
        "type": "clientside_qos1_sm",
        "dsType": "policyId",
        "values": [ "jsbeacon8", "jsbeacon9"   ]
    },
    {
        "id": 70,
        "name": "CP Progressive Downloads",
        "type": "serverSide",
        "dsType": "cpCode",
        "values": [ "12345", "67890"   ]
    },
    {
        "id": 136,
        "name": "CBSi Audience Analytics",
        "type": "clientSide",
        "dsType": "beaconId",
        "configPath": "http://config.server/config/beacon-1336.xml",
        "values": [ "alphanum3r1cbeac0n1d" ]
    }
]

Relevant data members:

Member Type Description
id Number Data Source ID.
name String Name of the Data Source.
dsType String Data Source type.
values Array List of values that form the data source.
configPath String Represents the Beacon configuration path and is present only for clientSide data source type.

Get Audience Analytics Report Data

Retrieves data for a specific report based on query parameter criteria. The parameters filterParams and sortParams are used to filter and sort data. The values for these parameters must be UTF–8 encoded JSON strings. Example strings are provided in the parameter description below.

GET /media-analytics/v1/audience-analytics/report-packs/{reportPackId}/data{?startDate,endDate,aggregation,dimensions,metrics,limit,offset,filterParams,sortParams}

Example: /media-analytics/v1/audience-analytics/report-packs/26273/data?startDate=03%2F22%2F2014%3A15%3A30&endDate=03%2F23%2F2014%3A15%3A30&aggregation=day%2Cmonth%2C3600%2C900%2C60&dimensions=160%2C96%2C57&metrics=546%2C544%2C3&limit=300&offset=100&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%22values%22%3A%5B%22GB%22%5D%2C%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%7B%22type%22%3A%22metric%22%2C%22values%22%3A%5B16%5D%2C%22id%22%3A155%2C%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%22order%22%3A%22asc%22%2C%22id%22%3A40%7D%5D

Headers:

  • Accept: application/json

Parameter Type Sample Description
Required
dimensions String 160,96,57 Comma-separated dimension identifiers. The ID can be abtained from the data stores API.
metrics String 546,544,3 Comma-separated metrics identifiers. The ID can be abtained from the data stores API.
reportPackId Number 26273 The ID of the report pack.
Optional
aggregation String day,month,3600,900,60 The aggregation in which the data is required to be grouped. It can be a number representing the aggregation in seconds or one of the following possible values day, week, month, year. If passed as a number, the allowed value is one of the aggregations of the available data stores listed by the data stores API.
endDate String 03/23/2014:15:30 The end date string in format MM/dd/yyyy:HH:mm. The time part is optional and should be in the 24-hour format.
filterParams String [{"type":"dimension","values":["GB"],"id":4,"condition":"in"},{"type":"metric","values":[16],"id":155,"condition":"gt"}] The UTF–8 URL-encoded JSON string of the filter parameters based on which the data is filtered. The structure of the JSON is expained above. By default, the data will not be filtered.
limit Number 300 The number of rows to return. Its value should lie between 1 and 10000 inclusive. If not specified, 300 rows will be returned by default.
offset Number 100 The offset of the row from which the data should start. This parameter can be used along with limit to get batches of data. For instance, if there are 1000 records in the result, 10 calls can be made with progressing offset. That is, first call with limit=100 and offset=0, second call with limit=100 and offset=100 so on and so forth. The default value is 0
sortParams String [{"type":"metric","order":"asc","id":40}] The UTF–8 URL-encoded JSON string of the sort parameters based on which the data is sorted. The structure of the JSON is expained above. By default, the data wil be sorted by time if time is selected as one of the dimensions or by the first metric in descending order if time is not selected.
startDate String 03/22/2014:15:30 The start date string in format MM/dd/yyyy:HH:mm. The time part is optional and should be in the 24-hour format.
All JSON object members of the filterParams parameter are required.
Member Type Description
Required
type Enumeration Specifies whether the parameter ID provided is a dimension or metric
id Number The ID of the filtering entity (dimension/metric).
condition String For Dimensions: in, nin, contains, ncontains, starts, nstarts, ends, nends. For Metrics: eq, neq, gt, gte, lt, lte. The n prefix reverses the result.
values Array List of values used to filter the result. Multiple values are supported for dimension filters.

All JSON object members of the sortParams parameter are required.

Member Type Description
Required
type Enumeration Specifies whether the parameter ID provided is a dimension or metric
id Number The ID of the sorting entity.
order Enumeration Represents asc for ascending or desc for descending order.

Status 200 application/json

Response:

{
    "columns": [
        { "name": "Country", "aggregate": "-", "index": 0 },
        { "name": "Region", "aggregate": "-", "index": 1 },
        { "name": "% Rebuffering Plays", "aggregate": "20.06", "index": 2 }
    ],
    "rows": [
        [ "GB", "WA", "18.15" ],
        [ "GB", "EN", "16.74" ],
        [ "GB", "NI", "66.06" ]
    ],
    "metaData": {
        "limit": 3,
        "endTimeInEpoch": 1392598800,
        "startTimeInEpoch": 1392595200,
        "hasMoreData": false,
        "timeZone": "EST",
        "offset": 0,
        "reportPack": "Sample Audience Analytics Report Pack",
        "aggregation": "3600"
    }
}

Relevant data members:

Member Type Description
columns Array Each column provides details such as the type (metric/dimension), name, description, index of the column. If the column is of type metric, then aggregate value of the metric and the max value (peak) is also returned.
rows Array Data rows.
aggregation Number Time (seconds) over which data is aggregated.
limit Number Number of data rows returned.
offset Number The offset of the row from which the data starts.
hasMoreData Boolean true if there are more data rows for the query than returned in the response.
reportPack String Name of the report pack.
startTimeInEpoch Number Start time of the query in Unix epoch seconds.
endTimeInEpoch Number End time of the query in Unix epoch seconds.
timezone String Timezone of the report pack or timezone in which the data is returned.

List QoS Monitor Report Packs

Returns name, id, and timezone for all report packs created for your account.

GET /media-analytics/v1/qos-monitor/report-packs

Status 200 application/json

Response:

[
    {
        "id": 6833,
        "name": "ReportPack Qos",
        "isActive": true,
        "type": "qos",
        "subType": "QoS_Live Events",
        "timezone": "GMT"
    },
    {
        "id": 6311,
        "name": "HDS Test",
        "isActive": true,
        "type": "qos",
        "subType": "QoS_On-demand Streams",
        "timezone": "Asia/Calcutta"
    }
]

Relevant data members:

Member Type Description
id Number ID of the report pack.
name String Name of the report pack.
timezone String Timezone in which the data is returned.
type String This is an internal member.
subType String The type of the report-pack.

Get a QoS Monitor Report Pack

Details include name of the report pack, data sources, and metrics and dimensions used in the report pack.

GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}

Example: /media-analytics/v1/qos-monitor/report-packs/26273

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack

Status 200 application/json

Response:

{
    "id": 6311,
    "name": "HDS Qos Test",
    "isActive": true,
    "type": "qos",
    "subType": "QoS_On-demand Streams",
    "dataSources": [
        { "id": 4553, "name": "Qos monitor data Source" }
    ],
    "dimensions": [
        { "id": 160, "name": "Title", "type": "standard" },
        { "id": 96, "name": "Start Up Time Range", "type": "standard" },
        { "id": 57, "name": "Qos Custom Dim", "type": "custom" }
    ],
    "metrics": [
        { "id": 437, "name": "Plays with Rebuffers" },
        { "id": 156, "name": "Downshifts" },
        { "id": 179, "name": "Bitrate Views" },
        { "id": 188, "name": "Plays Started" }
    ],
    "filters": null,
    "dataStores": [
        {
            "id": 1238,
            "name": "Data Store for qos_vod",
            "type": "standard",
            "description": "Stores data relevant for qos_vod"
        },
        {
            "id": 1435,
            "name": "Encoded Bitrate(VOD)",
            "type": "standard",
            "description": "encoded bitrate data store for vod data"
        }
    ],
    "timezone": "GMT"
}

Relevant data members:

Member Type Description
id Number ID of the report pack.
name String Name of the report pack.
dataSources Array All data sources for the report pack. A data source is a collection of raw log data with detailed information on each access to your digital property made by a user. Each data source object provides information on name of the data source and its ID.
dimensions Array All dimensions for the report pack. A dimension acts like a key in data exploration. It answers questions such as who, what, where, which. Each dimension object provides information on the name, type and ID of the dimension.
metrics Array All metrics for the report pack. A metric is a numeric aggregation against one or more dimensions. Each metric object provides information on the name and ID of the metric. It answers questions on volume of activity or attack.
dataStores Array All data stores for the report pack. A data store is a collection of dimensions and metrics stored in a data base. Each data store object provides information on the name, type, short description and ID of the data store.
timezone String Timezone in which the data is returned.
filters Array The filters applied on the data captured in the report pack.
type String This is an internal member.
subType String The type of the report-pack.

List QoS Monitor Data Stores

A data store is a collection of dimensions and metrics stored in a database that you can use to create a sub-set and configure reports suited to your requirements. Data store details help you determine the combination of dimensions and metrics to query. Each report pack comes with its standard data stores. You cannot combine dimensions and metrics across data stores.

GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}/data-stores

Example: /media-analytics/v1/qos-monitor/report-packs/26273/data-stores

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

[
    {
        "id": 1238,
        "name": "Data Store for qos_vod",
        "type": "standard",
        "description": "Stores data relevant for qos_vod",
        "dimensions": [
            {
                "id": 83,
                "name": "Time",
                "type": "standard",
                "description": "Time as per time zone specified in the report   "
            }
        ],
        "metrics": [
            {
                "id": 323,
                "name": "HD Play Duration",
                "description": "The time over which the stream played in HD quality (>=2.5mpbs, in hours)"
            },
            {
                "id": 652,
                "name": "HQ Play Duration",
                "description": "The time over which the stream played in HQ quality (>=1.5 mpbs and <2.5mbps, in hours)"
            },
            {
                "id": 171,
                "name": "SD Play Duration",
                "description": "The time over which the stream played in SD quality (<1.5 mpbs, in hours)"
            }
        ],
        "aggregation": 60,
        "purgeIntervalInDays": 2,
        "maxQueryDurationInMinutes": 120
    },
    {
        "id": 1234,
        "name": "Sample Data Store for qos_live",
        "type": "standard",
        "description": "Stores data relevant for qos_live",
        "dimensions": [
            {
                "id": 83,
                "name": "Time",
                "type": "standard",
                "description": "Time as per time zone specified in the report   "
            },
            {
                "id": 55,
                "name": "Country",
                "type": "standard",
                "description": "Country from which viewer requested media"
            },
            {
                "id": 57,
                "name": "Continent",
                "type": "standard",
                "description": "Viewer location. Available granularities are Continent, Region, Country & City"
            }
        ],
        "metrics": [
            {
                "id": 349,
                "name": "Bitrate Views",
                "description": "Number of times the bitrate was experienced by endusers"
            },
            {
                "id": 444,
                "name": "Sessions.",
                "description": "The number of sessions that experienced a particular bitrate"
            },
            {
                "id": 344,
                "name": "Play Duration per Session.",
                "description": "The average play time per session under a particular encoded bitrate"
            }
        ],
        "aggregation": 60,
        "purgeIntervalInDays": 2,
        "maxQueryDurationInMinutes": 120
    }
]

Relevant data members:

Member Type Description
id Number ID of the data store.
name String Name of the data store.
type String Type of data store. QOS Monitor uses standard data stores.
dimensions Array All dimensions for the data store. A dimension acts like a key in data exploration. It answers questions such as who, what, where, which. Each dimension object provides information on the ID, name, type and description of the dimension.
metrics Array All metrics for the data store. A metric is a numeric aggregation against one or more dimensions. It answers questions on volume of activity or attack. Each metric object provides information on the name, description and ID of the metric.
aggregation Number Time (seconds) over which data is aggregated.
purgeIntervalInDays Number Number of days for which the data store keeps data.
maxQueryDurationInMinutes Number Maximum duration (in minutes) for which a user can query a data store. It is a system-imposed limit for better performance.
description String Text describing the data store.

Get a QoS Monitor Data Store

Details include list of dimensions, list of metrics, aggregation interval, purge interval, maximum allowed query interval and so on.

GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}/data-stores/{dataStoreId}

Example: /media-analytics/v1/qos-monitor/report-packs/26273/data-stores/307

Parameter Type Sample Description
Required
dataStoreId Number 307 The ID of the data store.
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

{
    "aggregation": 60,
    "description": "Stores data relevant for qos_live",
    "id": 1234,
    "maxQueryDurationInMinutes": 1440,
    "name": "Sample Data Store for qos_live",
    "purgeIntervalInDays": 2,
    "type": "standard",
    "dimensions": [
        {
            "description": "Time as per time zone specified in the report   ",
            "id": 83,
            "name": "Time",
            "type": "standard"
        },
        {
            "description": "Country from which viewer requested media",
            "id": 55,
            "name": "Country",
            "type": "standard"
        },
        {
            "description": "Viewer location. Available granularities are Continent, Region, Country & City",
            "id": 57,
            "name": "Continent",
            "type": "standard"
        }
    ],
    "metrics": [
        {
            "description": "Number of times the bitrate was experienced by endusers",
            "id": 349,
            "name": "Bitrate Views"
        },
        {
            "description": "The number of sessions that experienced a particular bitrate",
            "id": 444,
            "name": "Sessions."
        },
        {
            "description": "The average play time per session under a particular encoded bitrate",
            "id": 344,
            "name": "Play Duration per Session."
        }
    ]
}

Relevant data members:

Member Type Description
id Number Data Store ID.
name String Data Store name.
type String Type of Data Store. QOS Monitor uses standard data stores.
dimensions Array All dimensions for the Data Store. A dimension acts like a key in data exploration. Each dimension object provides information on ID, name, type and description of the dimension. It answers questions such as who, what, where, which.
metrics Array All metrics for the Data Store. A metric is a numeric aggregation against one or more dimensions. Each metric object provides information on the name, description and ID of the metric. It answers questions on volume of activity or attack.
aggregation Number Time (seconds) over which data is aggregated.
purgeIntervalInDays Number Number of days for which the data store keeps data.
maxQueryDurationInMinutes Number Maximum duration (in minutes) for which a user can query a Data Store.
description String Text describing the Data Store.

List QoS Monitor Data Sources

A data source is a collection of raw log data with detailed information on each access to your digital property made by a user.

GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}/data-sources

Example: /media-analytics/v1/qos-monitor/report-packs/26273/data-sources

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

[
    {
        "id": 2340,
        "name": "HDS Test Data Source",
        "type": "clientSide",
        "dsType": "beaconId",
        "configPath": "http://datasource.host.net/config/beacon-2340.xml",
        "values": [ "4adf65da4ecf15750" ]
    }
]

Relevant data members:

Member Type Description
id Number Data Source ID.
name String Name of the Data Source.
dsType String Data Source type.
values Array List of values that form the data source.
configPath String Represents the Beacon configuration path and is present only for clientSide data source type.

Get QoS Monitor Report Data

Retrieves data for a specific report based on query parameter criteria. The parameters filterParams and sortParams are used to filter and sort data. The values for these parameters must be UTF–8 encoded JSON strings. Example strings are provided in the parameter description below.

GET /media-analytics/v1/qos-monitor/report-packs/{reportPackId}/data{?startDate,endDate,aggregation,dimensions,metrics,limit,offset,filterParams,sortParams}

Example: /media-analytics/v1/qos-monitor/report-packs/26273/data?startDate=03%2F22%2F2014%3A15%3A30&endDate=03%2F23%2F2014%3A15%3A30&aggregation=day%2Cweek%2Cmonth%2C3600%2C900%2C60&dimensions=160%2C96%2C57&metrics=546%2C544%2C3&limit=300&offset=100&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%22values%22%3A%5B%22GB%22%5D%2C%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%7B%22type%22%3A%22metric%22%2C%22values%22%3A%5B16%5D%2C%22id%22%3A155%2C%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%22order%22%3A%22asc%22%2C%22id%22%3A40%7D%5D

Headers:

  • Accept: application/json

Parameter Type Sample Description
Required
dimensions String 160,96,57 Comma-separated dimension identifiers. The ID can be abtained from the data stores API.
metrics String 546,544,3 Comma-separated metrics identifiers. The ID can be abtained from the data stores API.
reportPackId Number 26273 The ID of the report pack.
Optional
aggregation String day,week,month,3600,900,60 The aggregation in which the data is required to be grouped. It can be a number representing the aggregation in seconds or one of the following possible values day, week, month, year. If passed as a number, the allowed value is one of the aggregations of the available data stores listed by the data stores API.
endDate String 03/23/2014:15:30 The end date string in format MM/dd/yyyy:HH:mm. The time part is optional and should be in the 24-hour format.
filterParams String [{"type":"dimension","values":["GB"],"id":4,"condition":"in"},{"type":"metric","values":[16],"id":155,"condition":"gt"}] The UTF–8 URL-encoded JSON string of the filter parameters based on which the data is filtered. The structure of the JSON is expained above. By default, the data will not be filtered.
limit Number 300 The number of rows to return. Its value should lie between 1 and 10000 inclusive. If not specified, 300 rows will be returned by default.
offset Number 100 The offset of the row from which the data should start. This parameter can be used along with limit to get batches of data. For instance, if there are 1000 records in the result, 10 calls can be made with progressing offset. That is, first call with limit=100 and offset=0, second call with limit=100 and offset=100 so on and so forth. The default value is 0
sortParams String [{"type":"metric","order":"asc","id":40}] The UTF–8 URL-encoded JSON string of the sort parameters based on which the data is sorted. The structure of the JSON is expained above. By default, the data wil be sorted by time if time is selected as one of the dimensions or by the first metric in descending order if time is not selected.
startDate String 03/22/2014:15:30 The start date string in format MM/dd/yyyy:HH:mm. The time part is optional and should be in the 24-hour format.

All JSON object members of the filterParams parameter are required.

Member Type Description
Required
type Enumeration Specifies whether the parameter ID provided is a dimension or metric
id Number The ID of the filtering entity (dimension/metric).
condition String For Dimensions: in, nin, contains, ncontains, starts, nstarts, ends, nends. For Metrics: eq, neq, gt, gte, lt, lte. The n prefix reverses the result.
values Array List of values used to filter the result. Multiple values are treated as inclusions. For exclusions use another filter object with appropriate values.

All JSON object members of the sortParams parameter are required.

Member Type Description
Required
type Enumeration Specifies whether the parameter ID provided is a dimension or metric
id Number The ID of the sorting entity.
order Enumeration Represents asc for ascending or desc for descending order.

Status 200 application/json

Response:

{
    "columns": [
        { "name": "Country", "aggregate": "-", "index": 0 },
        { "name": "Region", "aggregate": "-", "index": 1 },
        { "name": "% Rebuffering Plays", "aggregate": "20.06", "index": 2 }
    ],
    "rows": [
        [ "GB", "WA", "18.15" ],
        [ "GB", "EN", "16.74" ],
        [ "GB", "NI", "66.06" ]
    ],
    "metaData": {
        "limit": 3,
        "endTimeInEpoch": 1392598800,
        "startTimeInEpoch": 1392595200,
        "timeZone": "EST",
        "hasMoreData": false,
        "offset": 0,
        "reportPack": "Sample QoS Monitor Report Pack",
        "aggregation": "3600"
    }
}

Relevant data members:

Member Type Description
columns Array Each column provides details such as the type (metric/dimension), name, description, index of the column. If the column is of type metric, then aggregate value of the metric and the max value (peak) is also returned.
rows Array Data rows.
aggregation Number Time (seconds) over which data is aggregated.
limit Number Number of data rows returned.
offset Number The offset of the row from which the data starts.
hasMoreData Boolean true if there are more data rows for the query than returned in the response.
reportPack String Name of the report pack.
startTimeInEpoch Number Start time of the query in Unix epoch seconds.
endTimeInEpoch Number End time of the query in Unix epoch seconds.
timezone String Timezone of the report pack or timezone in which the data is returned.

List Viewer Diagnostics Report Packs

Returns name, id, and timezone for all report packs created for your account.

GET /media-analytics/v1/viewer-diagnostics/report-packs

Status 200 application/json

Response:

[
    {
        "id": 2340,
        "name": "Sample Viewer Diags",
        "isActive": true,
        "type": "ma",
        "subType": "Viewer Diagnostics",
        "timezone": "EST5EDT"
    }
]

Relevant data members:

Member Type Description
id Number ID of the report pack.
name String Name of the report pack.
timezone String Timezone in which the data is returned.
type String This is an internal member.
subType String The type of the report-pack.

Get a Viewer Diagnostics Report Pack

Details include name of the report pack, data sources, and metrics and dimensions used in the report pack.

GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}

Example: /media-analytics/v1/viewer-diagnostics/report-packs/26273

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack

Status 200 application/json

Response:

{
    "id": 23040,
    "name": "Sample Viewer Diagnostics Report Pack",
    "isActive": true,
    "type": "ma",
    "subType": "Viewer Diagnostics",
    "dataSources": [
        { "id": 4444, "name": "Sample Stream" },
        { "id": 1111, "name": "HTML5 Player" },
        { "id": 2222, "name": "Audience Analytics" }
    ],
    "dimensions": [
        { "id": 123111, "name": "Session ID", "type": "standard" },
        { "id": 321212, "name": "Time", "type": "standard" },
        { "id": 45645, "name": "Viewer ID", "type": "standard" },
        { "id": 789456, "name": "Visit ID", "type": "standard" }
    ],
    "metrics": [
        { "id": 89911, "name": "Ad Abandoned" },
        { "id": 99811, "name": "Ad Plays " },
        { "id": 112211, "name": "Visit End Time" },
        { "id": 211211, "name": "Visit Start Time" }
    ],
    "filters": [
        {
            "name": "Includes Channel 1 Viewers",
            "type": "Include",
            "condition": "matches",
            "value": "Sample Channel 1",
            "id": 12221
        },
        {
            "name": "Includes Channel 2 Viewers",
            "type": "Include",
            "condition": "matches",
            "value": "Sample Channel 2",
            "id": 12221
        }
    ],
    "dataStores": [
        {
            "id": 22221,
            "name": "Viewer Diagnostic",
            "type": "standard",
            "description": "Viewer Diagnostic"
        }
    ],
    "timezone": "EST5EDT"
}

Relevant data members:

Member Type Description
id Number ID of the report pack.
name String Name of the report pack.
dataSources Array All data sources for the report pack. A data source is a collection of raw log data with detailed information on each access to your digital property made by a user. Each data source object provides information on name of the data source and its ID.
dimensions Array All dimensions for the report pack. A dimension acts like a key in data exploration. It answers questions such as who, what, where, which. Each dimension object provides information on the name, type and ID of the dimension.
metrics Array All metrics for the report pack. A metric is a numeric aggregation against one or more dimensions. Each metric object provides information on the name and ID of the metric. It answers questions on volume of activity or attack.
dataStores Array All data stores for the report pack. A data store is a collection of dimensions and metrics stored in a data base. Each data store object provides information on the name, type, short description and ID of the data store.
timezone String Timezone in which the data is returned.
filters Array The filters applied on the data captured in the report pack.
type String This is an internal member.
subType String The type of the report-pack.

List Viewer Diagnostics Data Stores

A data store is a collection of dimensions and metrics stored in a database that you can use to create a sub-set and configure reports suited to your requirements. Data store details help you determine the combination of dimensions and metrics to query. Each report pack comes with its standard data stores. You cannot combine dimensions and metrics across data stores.

GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}/data-stores

Example: /media-analytics/v1/viewer-diagnostics/report-packs/26273/data-stores

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

[
    {
        "id": 22221,
        "name": "Viewer Diagnostic",
        "type": "standard",
        "description": "Viewer Diagnostic",
        "dimensions": [
            {
                "id": 123111,
                "name": "Session ID",
                "description": "Session ID",
                "type": "standard"
            },
            {
                "id": 321212,
                "name": "Time",
                "description": "Set automatically and indicates the Timestamp at which content was consumed and is converted to the time zone set during report pack configuration.",
                "type": "standard"
            },
            {
                "id": 45645,
                "name": "Viewer ID",
                "description": "Viewer ID",
                "type": "standard"
            },
            {
                "id": 789456,
                "name": "Visit ID",
                "description": "Visit ID",
                "type": "standard"
            }
        ],
        "metrics": [
            { "id": 89911, "name": "Ad Abandoned", "description": "Ad Abandoned" },
            { "id": 99811, "name": "Ad Plays ", "description": "Ad Plays " },
            { "id": 112211, "name": "Visit End Time", "description": "Visit End Time" },
            { "id": 211211, "name": "Visit Start Time", "description": "Visit Start Time" }
        ],
        "aggregation": 86400,
        "purgeIntervalInDays": 60,
        "maxQueryDurationInMinutes": 600
    }
]

Relevant data members:

Member Type Description
id Number ID of the data store.
name String Name of the data store.
type String Type of data store. Viewer Diagnostic uses standard data stores.
dimensions Array All dimensions for the data store. A dimension acts like a key in data exploration. It answers questions such as who, what, where, which. Each dimension object provides information on the ID, name, type and description of the dimension.
metrics Array All metrics for the data store. A metric is a numeric aggregation against one or more dimensions. It answers questions on volume of activity or attack. Each metric object provides information on the name, description and ID of the metric.
aggregation Number Time (seconds) over which data is aggregated.
purgeIntervalInDays Number Number of days for which the data store keeps data.
maxQueryDurationInMinutes Number Maximum duration (in minutes) for which a user can query a data store. It is a system-imposed limit for better performance.
description String Text describing the data store.

Get a Viewer Diagnostics Data Store

Details include list of dimensions, list of metrics, aggregation interval, purge interval, maximum allowed query interval and so on.

GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}/data-stores/{dataStoreId}

Example: /media-analytics/v1/viewer-diagnostics/report-packs/26273/data-stores/307

Parameter Type Sample Description
Required
dataStoreId Number 307 The ID of the data store.
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

{
    "id": 22221,
    "name": "Viewer Diagnostic",
    "type": "standard",
    "description": "Viewer Diagnostic",
    "dimensions": [
        {
            "id": 123111,
            "name": "Session ID",
            "description": "Session ID",
            "type": "standard"
        },
        {
            "id": 321212,
            "name": "Time",
            "description": "Set automatically and indicates the Timestamp at which content was consumed and is converted to the time zone set during report pack configuration.",
            "type": "standard"
        },
        {
            "id": 45645,
            "name": "Viewer ID",
            "description": "Viewer ID",
            "type": "standard"
        },
        {
            "id": 789456,
            "name": "Visit ID",
            "description": "Visit ID",
            "type": "standard"
        }
    ],
    "metrics": [
        { "id": 89911, "name": "Ad Abandoned", "description": "Ad Abandoned" },
        { "id": 99811, "name": "Ad Plays ", "description": "Ad Plays " },
        { "id": 112211, "name": "Visit End Time", "description": "Visit End Time" },
        { "id": 211211, "name": "Visit Start Time", "description": "Visit Start Time" }
    ],
    "aggregation": 86400,
    "purgeIntervalInDays": 60,
    "maxQueryDurationInMinutes": 600
}

Relevant data members:

Member Type Description
id Number Data Store ID.
name String Data Store name.
type String Type of Data Store. Viewer Diagnostic uses standard data stores.
dimensions Array All dimensions for the Data Store. A dimension acts like a key in data exploration. Each dimension object provides information on ID, name, type and description of the dimension. It answers questions such as who, what, where, which.
metrics Array All metrics for the Data Store. A metric is a numeric aggregation against one or more dimensions. Each metric object provides information on the name, description and ID of the metric. It answers questions on volume of activity or attack.
aggregation Number Time (seconds) over which data is aggregated.
purgeIntervalInDays Number Number of days for which the data store keeps data.
maxQueryDurationInMinutes Number Maximum duration (in minutes) for which a user can query a Data Store.
description String Text describing the Data Store.

List Viewer Diagnostics Data Sources

A data source is a collection of raw log data with detailed information on each access to your digital property made by a user.

GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}/data-sources

Example: /media-analytics/v1/viewer-diagnostics/report-packs/26273/data-sources

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

[
    {
        "id": 4444,
        "name": "Sample Stream",
        "type": "clientSide",
        "dsType": "beaconId",
        "configPath": null,
        "values": [ "a1phanum3rica15tr1ng" ]
    },
    {
        "id": 1111,
        "name": "HTML5 Player",
        "type": "clientSide",
        "dsType": "beaconId",
        "configPath": "http://config.server/config/beacon-config.xml",
        "values": [ "a1phanum3rica15tr1ng" ]
    },
    {
        "id": 2222,
        "name": "Audience Analytics",
        "type": "clientSide",
        "dsType": "beaconId",
        "configPath": "http://ma102-r.analytics.edgesuite.net/config/beacon-config.xml",
        "values": [ "a1phanum3rica15tr1ng" ]
    }
]

Relevant data members:

Member Type Description
id Number Data Source ID.
name String Name of the Data Source.
dsType String Data Source type.
values Array List of values that form the data source.
configPath String Represents the Beacon configuration path and is present only for clientSide data source type.

Get Viewer Diagnostics Report Data

Retrieves data for a specific report based on query parameter criteria. The parameters filterParams and sortParams are used to filter and sort data. The values for these parameters must be UTF–8 encoded JSON strings. Example strings are provided in the parameter description below.

GET /media-analytics/v1/viewer-diagnostics/report-packs/{reportPackId}/viewers/{viewerId}/data{?startDate,endDate,aggregation,dimensions,metrics,limit,offset,filterParams,sortParams}

Example: /media-analytics/v1/viewer-diagnostics/report-packs/26273/viewers/2340/data?startDate=03%2F22%2F2014&endDate=03%2F23%2F2014&aggregation=day%2Cmonth%2C3600%2C900%2C60&dimensions=160%2C96%2C57&metrics=546%2C544%2C3&limit=300&offset=100&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%22values%22%3A%5B%22GB%22%5D%2C%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%7B%22type%22%3A%22metric%22%2C%22values%22%3A%5B16%5D%2C%22id%22%3A155%2C%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%22order%22%3A%22asc%22%2C%22id%22%3A40%7D%5D

Headers:

  • Accept: application/json

Parameter Type Sample Description
Required
dimensions String 160,96,57 Comma-separated dimension identifiers. The ID can be abtained from the data stores API.
metrics String 546,544,3 Comma-separated metrics identifiers. The ID can be abtained from the data stores API.
reportPackId Number 26273 The ID of the report pack.
viewerId Number 2340 The ID representing the viewer.
Optional
aggregation String day,month,3600,900,60 The aggregation in which the data is required to be grouped. It can be a number representing the aggregation in seconds or one of the following possible valuesday, week, month, year. If passed as a number, the allowed value is one of the aggregations of the available data stores listed by the data stores API.
endDate String 03/23/2014 The end date string in format MM/dd/yyyy:HH:mm. The time part is optional and should be in the 24-hour format. Depending on the aggregation of the data-store, time part may or may not be applicable. All the data-stores are of daily aggregation for Viewer Diagnostic.
filterParams String [{"type":"dimension","values":["GB"],"id":4,"condition":"in"},{"type":"metric","values":[16],"id":155,"condition":"gt"}] The UTF–8 URL-encoded JSON string of the filter parameters based on which the data is filtered. The structure of the JSON is expained above. By default, the data will not be filtered.
limit Number 300 The number of rows to return. Its value should lie between 1 and 10000 inclusive. If not specified, 300 rows will be returned by default.
offset Number 100 The offset of the row from which the data should start. This parameter can be used along with limit to get batches of data. For instance, if there are 1000 records in the result, 10 calls can be made with progressing offset. That is, first call with limit=100 and offset=0, second call with limit=100 and offset=100 so on and so forth. The default value is 0
sortParams String [{"type":"metric","order":"asc","id":40}] The UTF–8 URL-encoded JSON string of the sort parameters based on which the data is sorted. The structure of the JSON is expained above. By default, the data wil be sorted by time if time is selected as one of the dimensions or by the first metric in descending order if time is not selected.
startDate String 03/22/2014 The start date string in format MM/dd/yyyy:HH:mm. The time part is optional and should be in the 24-hour format. Depending on the aggregation of the data-store, time part may or may not be applicable. All the data-stores are of daily aggregation for Viewer Diagnostic.

All JSON object members of the filterParams parameter are required.

Member Type Description
Required
type Enumeration Specifies whether the parameter ID provided is a dimension or metric
id Number The ID of the filtering entity (dimension/metric).
condition String For Dimensions: in, nin, contains, ncontains, starts, nstarts, ends, nends. For Metrics: eq, neq, gt, gte, lt, lte. The n prefix reverses the result.
values Array List of values used to filter the result. Multiple values are treated as inclusions. For exclusions use another filter object with appropriate values.

All JSON object members of the sortParams parameter are required.

Member Type Description
Required
type Enumeration Specifies whether the parameter ID provided is a dimension or metric
id Number The ID of the sorting entity.
order Enumeration Represents asc for ascending or desc for descending order.

Status 200 application/json

Response:

{
    "columns": [
        {
            "name": "Time",
            "aggregate": "-",
            "unit": null,
            "index": 0
        },
        {
            "name": "Title",
            "aggregate": "Unthinkable Trailer",
            "unit": null,
            "index": 2
        },
        {
            "name": "Average Bitrate ",
            "aggregate": "843.38",
            "unit": "kbps",
            "index": 3
        }
    ],
    "rows": [
        [ "1399791600", "Unthinkable Trailer", "200.00" ],
        [ "1399791600", "Unthinkable Trailer", "250.00" ]
    ],
    "metaData": {
        "limit": 100,
        "startTimeInEpoch": 1399705200,
        "aggregation": 86400,
        "hasMoreData": false,
        "timeZone": "PDT",
        "endTimeInEpoch": 1400137200,
        "offset": 0,
        "reportPack": "Sample Viewer Diagnostics"
    }
}

Relevant data members:

Member Type Description
columns Array Each column provides details such as the type (metric/dimension), name, description, index of the column. If the column is of type metric, then aggregate value of the metric and the max value (peak) is also returned.
rows Array Data rows.
aggregation Number Time (seconds) over which data is aggregated.
limit Number Number of data rows returned.
offset Number The offset of the row from which the data starts.
hasMoreData Boolean true if there are more data rows for the query than returned in the response.
reportPack String Name of the report pack.
startTimeInEpoch Number Start time of the query in Unix epoch seconds.
endTimeInEpoch Number End time of the query in Unix epoch seconds.
timezone String Timezone of the report pack or timezone in which the data is returned.

List Download Analytics Report Packs

Returns name, id, and timezone for all report packs created for your account.

GET /media-analytics/v1/download-analytics/report-packs

Status 200 application/json

Response:

[
    {
        "id": 123,
        "name": "Demo Analyzer",
        "isActive": false,
        "type": "dla",
        "subType": "Downloads",
        "timezone": "GMT"
    },
    {
        "id": 456,
        "name": "Internal Analyzer",
        "isActive": false,
        "type": "dla",
        "subType": "Downloads",
        "timezone": "GMT"
    }
]

Relevant data members:

Member Type Description
id Number ID of the report pack.
name String Name of the report pack.
timezone String Timezone in which the data is returned.
type String This is an internal member.
subType String The type of the report-pack.

Get a Download Analytics Report Pack

Details include name of the report pack, data sources, and metrics and dimensions used in the report pack.

GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}

Example: /media-analytics/v1/download-analytics/report-packs/26273

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack

Status 200 application/json

Response:

{
    "id": 123,
    "name": "Demo Analyzer",
    "isActive": false,
    "type": "dla",
    "subType": "Downloads",
    "dataSources": [
        { "id": 11, "name": "dlm Datasource" }
    ],
    "dimensions": [
        { "id": 104, "name": "City", "type": "standard" },
        { "id": 461, "name": "Connection Speed", "type": "standard" },
        { "id": 101, "name": "Continent", "type": "standard" }
    ],
    "metrics": [
        { "id": 17, "name": "Bytes Delivered (Sum)" },
        { "id": 22, "name": "Completion Rate" }
    ],
    "filters": [
        {
            "name": "URL image filter",
            "type": "Exclude",
            "condition": "endswith",
            "value": ".GIF",
            "id": 269
        }
    ],
    "dataStores": [
        {
            "id": 307,
            "name": "DLM Cube",
            "type": "standard",
            "description": "DLM Cube"
        },
        {
            "id": 306,
            "name": "Summary Cube",
            "type": "standard",
            "description": "Summary Cube"
        }
    ],
    "timezone": "GMT"
}

Relevant data members:

Member Type Description
id Number ID of the report pack.
name String Name of the report pack.
dataSources Array All data sources for the report pack. A data source is a collection of raw log data with detailed information on each access to your digital property made by a user. Each data source object provides information on name of the data source and its ID.
dimensions Array All dimensions for the report pack. A dimension acts like a key in data exploration. It answers questions such as who, what, where, which. Each dimension object provides information on the name, type and ID of the dimension.
metrics Array All metrics for the report pack. A metric is a numeric aggregation against one or more dimensions. Each metric object provides information on the name and ID of the metric. It answers questions on volume of activity or attack.
dataStores Array All data stores for the report pack. A data store is a collection of dimensions and metrics stored in a data base. Each data store object provides information on the name, type, short description and ID of the data store.
timezone String Timezone in which the data is returned.
filters Array The filters applied on the data captured in the report pack.
type String This is an internal member.
subType String The type of the report-pack.

List Download Analytics Data Stores

A data store is a collection of dimensions and metrics stored in a database that you can use to create a sub-set and configure reports suited to your requirements. Data store details help you determine the combination of dimensions and metrics to query. Each report pack comes with its standard data stores. You cannot combine dimensions and metrics across data stores.

GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}/data-stores

Example: /media-analytics/v1/download-analytics/report-packs/26273/data-stores

Parameter Type Sample Description
Required
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

[
    {
        "id": 307,
        "name": "DLM Cube",
        "type": "standard",
        "description": "DLM Cube",
        "dimensions": [
            {
                "id": 104,
                "name": "City",
                "description": "name of city",
                "type": "standard"
            },
            {
                "id": 461,
                "name": "Connection Speed",
                "description": "Connection Speed",
                "type": "standard"
            },
            {
                "id": 101,
                "name": "Continent",
                "description": "Viewer location. Available granularities are Continent, Region, Country boston",
                "type": "standard"
            }
        ],
        "metrics": [
            {
                "id": 17,
                "name": "Bytes Delivered (Sum)",
                "unit": "bytes",
                "type": null,
                "description": "Total Bytes Delivered"
            },
            {
                "id": 28,
                "name": "DLM Cancels",
                "unit": null,
                "type": null,
                "description": "Total Cancels for Akamai DLM"
            },
            {
                "id": 19,
                "name": "DLM Completes",
                "unit": null,
                "type": null,
                "description": "Total Completions from DLM"
            }
        ],
        "aggregationInSeconds": 86400,
        "purgeIntervalInDays": 403,
        "maxQueryDurationInMinutes": 580320
    },
    {
        "id": 306,
        "name": "Summary Cube",
        "type": "standard",
        "description": "Summary Cube",
        "dimensions": [
            {
                "id": 461,
                "name": "Connection Speed",
                "description": "Connection Speed",
                "type": "standard"
            },
            {
                "id": 101,
                "name": "Continent",
                "description": "Viewer location. Available granularities are Continent, Region, Country boston",
                "type": "standard"
            },
            {
                "id": 102,
                "name": "Country",
                "description": "country",
                "type": "standard"
            },
            {
                "id": 400,
                "name": "Day",
                "description": "Time Dimension for DLA",
                "type": "standard"
            }
        ],
        "metrics": [
            {
                "id": 17,
                "name": "Bytes Delivered (Sum)",
                "unit": "bytes",
                "type": null,
                "description": "Total Bytes Delivered"
            },
            {
                "id": 22,
                "name": "Completion Rate",
                "unit": "%",
                "type": null,
                "description": "Completion Rates"
            },
            {
                "id": 35,
                "name": "Completion Rate",
                "unit": "%",
                "type": null,
                "description": "Average Completion Rate for Akamai DLM"
            },
            {
                "id": 43,
                "name": "File Size",
                "unit": "bytes",
                "type": null,
                "description": "Average FileSize"
            }
        ],
        "aggregationInSeconds": 86400,
        "purgeIntervalInDays": 403,
        "maxQueryDurationInMinutes": 580320
    }
]

Relevant data members:

Member Type Description
id Number ID of the data store.
name String Name of the data store.
type String Type of data store (standard or custom).
dimensions Array All dimensions for the data store. A dimension acts like a key in data exploration. It answers questions such as who, what, where, which. Each dimension object provides information on the ID, name, type and description of the dimension.
metrics Array All metrics for the data store. A metric is a numeric aggregation against one or more dimensions. It answers questions on volume of activity or attack. Each metric object provides information on the name, description and ID of the metric.
aggregation Number Time (seconds) over which data is aggregated.
purgeIntervalInDays Number Number of days for which the data store keeps data.
maxQueryDurationInMinutes Number Maximum duration (in minutes) for which a user can query a data store. It is a system-imposed limit for better performance.
description String Text describing the data store.

Get a Download Analytics Data Store

Details include list of dimensions, list of metrics, aggregation interval, purge interval, maximum allowed query interval and so on.

GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}/data-stores/{dataStoreId}

Example: /media-analytics/v1/download-analytics/report-packs/26273/data-stores/307

Parameter Type Sample Description
Required
dataStoreId Number 307 The ID of the data store.
reportPackId Number 26273 The ID of the report pack.

Status 200 application/json

Response:

{
    "aggregationInSeconds": 86400,
    "description": "DLM Cube",
    "id": 307,
    "maxQueryDurationInMinutes": 580320,
    "name": "DLM Cube",
    "purgeIntervalInDays": 403,
    "type": "standard",
    "dimensions": [
        {
            "description": "name of city",
            "id": 104,
            "name": "City",
            "type": "standard"
        },
        {
            "description": "Connection Speed",
            "id": 461,
            "name": "Connection Speed",
            "type": "standard"
        },
        {
            "description": "Viewer location. Available granularities are Continent, Region, Country boston",
            "id": 101,
            "name": "Continent",
            "type": "standard"
        }
    ],
    "metrics": [
        {
            "description": "Total Bytes Delivered",
            "id": 17,
            "name": "Bytes Delivered (Sum)",
            "type": null,
            "unit": "bytes"
        },
        {
            "description": "Total Cancels for Akamai DLM",
            "id": 28,
            "name": "DLM Cancels",
            "type": null,
            "unit": null
        },
        {
            "description": "Total Completions from DLM",
            "id": 19,
            "name": "DLM Completes",
            "type": null,
            "unit": null
        }
    ]
}

Relevant data members:

Member Type Description
id Number Data Store ID.
name String Data Store name.
type String Type of Data Store (standard or custom).
dimensions Array All dimensions for the Data Store. A dimension acts like a key in data exploration. Each dimension object provides information on ID, name, type and description of the dimension. It answers questions such as who, what, where, which.
metrics Array All metrics for the Data Store. A metric is a numeric aggregation against one or more dimensions. Each metric object provides information on the name, description and ID of the metric. It answers questions on volume of activity or attack.
aggregation Number Time (seconds) over which data is aggregated.
purgeIntervalInDays Number Number of days for which the data store keeps data.
maxQueryDurationInMinutes Number Maximum duration (in minutes) for which a user can query a Data Store.
description String Text describing the Data Store.

List Download Analytics Data Sources

A data source is a collection of raw log data with detailed information on each access to your digital property made by a user.

GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}/data-sources

Example: /media-analytics/v1/download-analytics/report-packs/26273/data-sources

Parameter Type Sample Description
Required
reportPackId Number 26273 Report pack ID.

Status 200 application/json

Response:

[
    {
        "id": 419,
        "name": "dlm Datasource",
        "type": "serverSide",
        "dsType": "cpCode",
        "values": [ "7907" ]
    }
]

Relevant data members:

Member Type Description
id Number Data Source ID.
name String Name of the Data Source.
dsType String Data Source type.
values Array List of values that form the data source.
configPath String Represents the Beacon configuration path and is present only for clientSide data source type.

Get Download Analytics Report Data

Retrieves data for a specific report based on query parameter criteria. The parameters filterParams and sortParams are used to filter and sort data. The values for these parameters must be UTF–8 encoded JSON strings. Example strings are provided in the parameter description below.

GET /media-analytics/v1/download-analytics/report-packs/{reportPackId}/data{?startDate,endDate,aggregation,dimensions,metrics,limit,offset,filterParams,sortParams}

Example: /media-analytics/v1/download-analytics/report-packs/26273/data?startDate=03%2F22%2F2014%3A15%3A30&endDate=03%2F23%2F2014%3A15%3A30&aggregation=day%2Cmonth%2C3600%2C900%2C60&dimensions=160%2C96%2C57&metrics=546%2C544%2C3&limit=300&offset=100&filterParams=%5B%7B%22type%22%3A%22dimension%22%2C%22values%22%3A%5B%22GB%22%5D%2C%22id%22%3A4%2C%22condition%22%3A%22in%22%7D%2C%7B%22type%22%3A%22metric%22%2C%22values%22%3A%5B16%5D%2C%22id%22%3A155%2C%22condition%22%3A%22gt%22%7D%5D&sortParams=%5B%7B%22type%22%3A%22metric%22%2C%22order%22%3A%22asc%22%2C%22id%22%3A40%7D%5D

Headers:

  • Accept: application/json

Parameter Type Sample Description
Required
dimensions String 160,96,57 Comma-separated dimension identifiers. The ID can be abtained from the data stores API.
metrics String 546,544,3 Comma-separated metrics identifiers. The ID can be abtained from the data stores API.
reportPackId Number 26273 The ID of the report pack.
Optional
aggregation String day,month,3600,900,60 The aggregation in which the data is required to be grouped. It can be a number representing the aggregation in seconds or one of the following possible values day, week, month, year. If passed as a number, the allowed value is one of the aggregations of the available data stores listed by the data stores API.
endDate String 03/23/2014:15:30 The end date string in format MM/dd/yyyy:HH:mm. The time part is optional and should be in the 24-hour format.
filterParams String [{"type":"dimension","values":["GB"],"id":4,"condition":"in"},{"type":"metric","values":[16],"id":155,"condition":"gt"}] The UTF–8 URL-encoded JSON string of the filter parameters based on which the data is filtered. The structure of the JSON is expained above. By default, the data will not be filtered.
limit Number 300 The number of rows to return. Its value should lie between 1 and 10000 inclusive. If not specified, 300 rows will be returned by default.
offset Number 100 The offset of the row from which the data should start. This parameter can be used along with limit to get batches of data. For instance, if there are 1000 records in the result, 10 calls can be made with progressing offset. That is, first call with limit=100 and offset=0, second call with limit=100 and offset=100 so on and so forth. The default value is 0
sortParams String [{"type":"metric","order":"asc","id":40}] The UTF–8 URL-encoded JSON string of the sort parameters based on which the data is sorted. The structure of the JSON is expained above. By default, the data wil be sorted by time if time is selected as one of the dimensions or by the first metric in descending order if time is not selected.
startDate String 03/22/2014:15:30 The start date string in format MM/dd/yyyy:HH:mm. The time part is optional and should be in the 24-hour format.

All JSON object members of the filterParams parameter are required.

Member Type Description
Required
type Enumeration Specifies whether the parameter ID provided is a dimension or metric
id Number The ID of the filtering entity (dimension/metric).
condition String For Dimensions: in, nin, contains, ncontains, starts, nstarts, ends, nends. For Metrics: eq, neq, gt, gte, lt, lte. The n prefix reverses the result.
values Array List of values used to filter the result. Multiple values are supported for dimension filters.

All JSON object members of the sortParams parameter are required.

Member Type Description
Required
type Enumeration Specifies whether the parameter ID provided is a dimension or metric
id Number The ID of the sorting entity.
order Enumeration Represents asc for ascending or desc for descending order.

Status 200 application/json

Response:

{
    "columns": [
        { "name": "Country", "aggregate": "-", "index": 0 },
        { "name": "Region", "aggregate": "-", "index": 1 },
        { "name": "Bytes Delivered (Sum)", "aggregate": "20.06", "index": 2 }
    ],
    "rows": [
        [ "GB", "WA", "18.15" ],
        [ "GB", "EN", "16.74" ],
        [ "GB", "NI", "66.06" ]
    ],
    "metaData": {
        "limit": 3,
        "endTimeInEpoch": 1392598800,
        "startTimeInEpoch": 1392595200,
        "hasMoreData": false,
        "timeZone": "EST",
        "offset": 0,
        "reportPack": "Sample Download Analytics Report Pack",
        "aggregation": "3600"
    }
}

Relevant data members:

Member Type Description
columns Array Each column provides details such as the type (metric/dimension), name, description, index of the column. If the column is of type metric, then aggregate value of the metric and the max value (peak) is also returned.
rows Array Data rows.
aggregation Number Time (seconds) over which data is aggregated.
limit Number Number of data rows returned.
offset Number The offset of the row from which the data starts.
hasMoreData Boolean true if there are more data rows for the query than returned in the response.
reportPack String Name of the report pack.
startTimeInEpoch Number Start time of the query in Unix epoch seconds.
endTimeInEpoch Number End time of the query in Unix epoch seconds.
timezone String Timezone of the report pack or timezone in which the data is returned.

Last modified: 12/12/2016