Monitor performance
Monitor the performance of your site and services through reports. Each report returns data based on the time intervals, filters, and metrics you set.
API version supportThe Akamai PowerShell Reporting module supports both Reporting API v1 and v2. While both APIs provide access to reporting data, they’re built on different data models.
- Reporting API v2, the current version, introduces a more flexible query model that lets you dynamically select metrics, dimensions, filters, and grouping options. It also supports multidimensional queries, asynchronous report generation, and pagination.
- Reporting API v1 functions have the
Legacyprefix added to their command names.
List all report types
Get a list of your available report types.
Use the Get-ReportType command.
Get-ReportTypereportName : API usage report data
description : Provides requests and volume for API traffic.
reportLink : /reporting-api/v2/reports/common/apis/usage
status : PUBLISHED
ProductFamily : common
ReportingArea : apis
Report : usage
reportName : CDN emissions report data
description : Provides CDN traffic hits, volume and calculated carbon emissions data.
reportLink : /reporting-api/v2/reports/delivery/traffic/emissions
status : PUBLISHED
ProductFamily : delivery
ReportingArea : traffic
Report : emissions
...Sort report list types
You can filter the report types to narrow down and manage results.
Filter the report types with Get-ReportType by -ProductFamily and -ReportingArea or use a sort term.
Note: If you don't know which product families and reporting areas are available to you, run the
Get-ReportProductFamilyandGet-ReportingAreacommands.
# Request: Gets a list of all reports by a specified product family and reporting area
Get-ReportType -ProductFamily 'delivery' -ReportingArea 'ivm'
# Output: All reports by a specified product family and reporting area (truncated)
reportName : IVM image traffic report data
description : Provides traffic data for images configured to use Image and Video Manager.
reportLink : /reporting-api/v2/reports/delivery/ivm/image-traffic
status : PUBLISHED
ProductFamily : delivery
ReportingArea : ivm
Report : image-traffic
reportName : IVM image stats report data
description : Provides policy stats data for images configured to use Image and Video Manager.
reportLink : /reporting-api/v2/reports/delivery/ivm/image-policy-stats
status : PUBLISHED
ProductFamily : delivery
ReportingArea : ivm
Report : image-policy-stats
...# Request: Gets a sorted list of all report names with their product families and reporting areas
Get-ReportType | Sort-Object -Property reportName | Select-Object reportName, ProductFamily, ReportingArea
# Output: All sorted report names with their product families and reporting areas (truncated)
reportName ProductFamily ReportingArea
---------- ------------- -------------
API usage details report data common apis
API usage report data common apis
CDN emissions report data delivery traffic
CDN traffic report data delivery traffic
IVM image stats report data delivery ivm
IVM image traffic report data delivery ivm
Purge objects details report data delivery purge
Purge requests details report data delivery purge# Request: Gets a sorted list of reports with "IVM" in the name
Get-ReportType | where reportName -Like *IVM* | Sort-Object -Property reportName | Select-Object reportName, ProductFamily, ReportingArea
# Output: All sorted reports with "IVM" in the name
reportName ProductFamily ReportingArea
---------- ------------- -------------
IVM image stats report data delivery ivm
IVM image traffic report data delivery ivmGet a specific type
Get details about a report type's available metrics and other metadata.
Specify a value for the -Report parameter along with the -ProductFamily and ReportingArea using the Get-ReportType command.
Note: The
-Reportparameter accepts a value from theReportproperty returned byGet-ReportTypewhen fetching all report types.
Get-ReportType -ProductFamily 'delivery' -ReportingArea 'ivm' -Report 'image-policy-stats'name : IVM image stats report data
description : Provides policy stats data for images configured to use Image and Video Manager.
status : PUBLISHED
metrics : {@{name=hits; description=The number of received image hits.; type=LONG; filterable=True; mandatory=False}, @{name=bytes; description=The number of delivered bytes of image content.; type=LONG; filterable=True; mandatory=False}, @{name=hits200; description=The number of requests that returned successful responses.;
type=LONG; filterable=True; mandatory=False}, @{name=bytes200; description=The volume of data served with successful responses.; type=LONG; filterable=True; mandatory=False}…}
dimensions : {@{name=cpcode; description=Content provider (CP) code.; type=LONG; filterable=True; mandatory=False; filterType=TEXT; authorizable=True}, @{name=time1day; description=Datapoint timestamp for 1 day granularity.; type=LONG; filterable=True; mandatory=False; filterType=TEXT; authorizable=False}, @{name=token; description=The Image and Video Manager policy token for which you want data included.; type=STRING; filterable=True; mandatory=False; filterType=TEXT; authorizable=False}, @{name=tokenWithVersion; description=The Image and Video Manager policy token with the version for which you want data included.; type=STRING; filterable=True; mandatory=False; filterType=TEXT; authorizable=False}…}
predefinedTimeRanges : {LAST_1_DAY, LAST_1_WEEK, LAST_30_DAYS, LAST_90_DAYS}
defaults : @{defaultTimeRange=; defaultMetrics=System.Object[]; defaultSortBys=System.Object[]}
limits : @{maxDimensions=4; maxDateRangeInDays=90; maxRetentionInDays=90; inListFilterMaxValues=10000; textFilterMaxLength=100; dataPointsLimit=50000}
links : {@{rel=self; href=/reporting-api/v2/reports/delivery/ivm/image-policy-stats; describedBy=/reporting-api/v2/reports/schema; allow=System.Object[]}, @{rel=data; href=/reporting-api/v2/reports/delivery/ivm/image-policy-stats/data; allow=System.Object[]}}Use filters and metrics
You can reduce the output of most reports using filters and metrics.
Metrics are available for reports returned with Get-ReportType. In addition, this operation supports dimensions.
# Request: Using metrics
$Report = Get-ReportType -ProductFamily 'delivery' -ReportingArea 'ivm' -Report 'image-policy-stats'
$Report.metrics
# Output: Metrics
name : hits
description : The number of received image hits.
type : LONG
filterable : True
mandatory : False
name : bytes
description : The number of delivered bytes of image content.
type : LONG
filterable : True
mandatory : False# Request: Using dimensions
$Report = Get-ReportType -ProductFamily 'delivery' -ReportingArea 'ivm' -Report 'image-policy-stats'
$Report.dimensions
# Output: Dimensions
name : cpcode
description : Content provider (CP) code.
type : LONG
filterable : True
mandatory : False
filterType : TEXT
authorizable : True
name : time1day
description : Datapoint timestamp for 1 day granularity.
type : LONG
filterable : True
mandatory : False
filterType : TEXT
authorizable : FalseGet report data
You can get your report data in two ways: create a new report or get an existing one.
Generate a report
Run the New-Report command. This method doesn't cache results and is better for large data requests and non-repeating requests.
Large reports can take significant time to generate and may cause synchronous requests to time out. In this case, pass the -Async switch parameter for larger report requests. This returns a query ID you can use to get the report later with Get-Report. If you omit -Async, the command waits for the report to be generated and returns the data when ready.
Note: If you don't know which product families and reporting areas are available to you, run the
Get-ReportProductFamilyandGet-ReportingAreacommands.
# Get report results synchronously
$Report = New-Report -Report 'usage' -ProductFamily 'common' -ReportingArea 'apis' -Start "2026-03-28T00:00:00Z" -End "2026-04-27T00:00:00Z"
# Get report results asynchronously
$AsyncReport = New-Report -Report 'usage' -ProductFamily 'common' -ReportingArea 'apis' -Start "2026-03-28T00:00:00Z" -End "2026-04-27T00:00:00Z" -Async
$Results = $AsyncReport | Get-ReportGet a report
Use Get-Report to return available options for a report. Note that it can take a few minutes to actually get to the report if you've just run the New-Report command with the -Async switch parameter.
You need to pass a report name, product family, and reporting area, along with a query ID returned to you from the New-Report command.
Note: If you don't know which product families and reporting areas are available to you, run the
Get-ReportProductFamilyandGet-ReportingAreacommands.
$Results = Get-Report -Report 'usage' -ProductFamily 'common' -ReportingArea 'apis' -QueryID $Report.QueryIDParse results
Assign your report results to a variable and parse out the information you need to analyze your data.
-
Printing the results of a report saved to
$Reportmay not display all of the information contained within the variable. To see more information, pipe your results toFormat-Listorfl.$Results | fl data : {@{endpoint=config-dns/2; requestsSum=3025636; requestsPercentage=53.3498703738414; bytesSum=1080925151243; bytesPercentage=79.5413296922291}, @{endpoint=appsec/1; requestsSum=747816; requestsPercentage=13.1859505451034; bytesSum=5167106681; bytesPercentage=0.380228488157313}, @{endpoint=config-gtm/1; requestsSum=569048; requestsPercentage=10.0338034834639; bytesSum=228769938787; bytesPercentage=16.8343433435726}, @{endpoint=identity-management/3; requestsSum=394910; requestsPercentage=6.96329542262642; bytesSum=622262684; bytesPercentage=0.0457900357358679}…} metadata : @{name=API usage report data; links=System.Object[]; rows=69; totalRows=69; requestTime=6/8/2026 2:06:41 PM; evictionTime=6/15/2026 2:07:02 PM} -
Export the results of your request to wherever you normally keep report data.
$Results.data | Export-CSV results.csv
Updated 15 days ago
