Diagnose content delivery issues

Diagnose common problems you may experience, like server, DNS, or network issues, when delivering content to your users on the ​Akamai​ edge network.

Tools

Depending on the available categories of tools, use appropriate commands to troubleshoot problems with your website.

General

Use these commands to get the data required by other operations.

Edge server locations

With Get-EdgeDiagnosticsLocations, list locations of all active edge servers you can use to run diagnostic tools.

Get-EdgeDiagnosticsLocations
id                              value
--                              -----
mombasa-kenya                   Mombasa, Kenya
tseungkwano-hongkong            Tseungkwano, Hong Kong
cleveland-oh-unitedstates       Cleveland, OH, United States

IP acceleration hostnames

With Get-EdgeDiagnosticsIPAHostnames, get IP acceleration hostnames you have access to and can generate a diagnostic link to collect diagnostic data.

Get-EdgeDiagnosticsIPAHostnames
example-one.srip.net
example-two.srip.net
example-three.srip.net

GTM

Use these commands to get information about Global Traffic Management (GTM) properties and IPs.

GTM properties

With Get-EdgeDiagnosticsGTMProperties, list all Global Traffic Management (GTM) properties you have access to and can run diagnostics for. You need this data to run New-EdgeDiagnosticsDig or New-EdgeDiagnosticsMTR for a GTM hostname.

Get-EdgeDiagnosticsGTMProperties
property domain             hostname
-------- ------             --------
one      example.akadns.net one.example.akadns.net
two      example.akadns.net two.example.akadns.net
three    example.akadns.net three.example.akadns.net

IPs for a GTM property

With Get-EdgeDiagnosticsGTMPropertyIPs, get test and target IPs for a GTM hostname. You need the returned data to run New-EdgeDiagnosticsMTR for a GTM hostname.

Get-EdgeDiagnosticsGTMPropertyIPs -Domain 'example.akadns.net' -Property 'one'
property domain             testIps      targets
-------- ------             -------      -------
one      example.akadns.net {123.4.5.67} {87.6.5.43}

Client to Edge

Use these commands to primarily diagnose issues in the traffic between a client and edge servers. You can also use these tools for other issues.

User diagnostic data

With New-EdgeDiagnosticsLink, generate a diagnostic link. You can send the link to users who are experiencing similar issues.

# By URL
New-EdgeDiagnosticsLink -URL 'https://www.example.com' -Note 'Test'

# By IPA hostname
New-EdgeDiagnosticsLink -IPAHostname 'example.srip.net' -Note 'Test'
groupId              : abc123
note                 : Test
ipaHostname          : example.srip.net
createdTime          : 4/23/2026 10:38:21 AM
diagnosticLink       : www.t1info.net/abc123
diagnosticLinkStatus : ACTIVE
recordCount          : 0
createdBy            : jsmith
groupId              : zyx987
note                 : Test
url                  : https://www.example.com
createdTime          : 4/23/2026 12:06:15 PM
diagnosticLink       : www.t1info.net/zyx987
diagnosticLinkStatus : ACTIVE
recordCount          : 0
createdBy            : jsmith

With Get-EdgeDiagnosticsGroup, list all end-user groups or get diagnostic data for a specific group to review the data generated with New-EdgeDiagnosticsLink and start troubleshooting.

When retrieving a specific group's data, you can optionally request additional cURL, DIG, and MTR data by passing appropriate switch parameters.

# Get all
Get-EdgeDiagnosticsGroup

# Get one
Get-EdgeDiagnosticsGroup -GroupID abc123
groupId              : zyx987
note                 : Test
url                  : https://www.example.com
createdTime          : 4/23/2026 12:06:15 PM
diagnosticLink       : www.t1info.net/zyx987
diagnosticLinkStatus : ACTIVE
recordCount          : 0
createdBy            : jsmith

groupId              : abc123
note                 : Test
ipaHostname          : example.srip.net
createdTime          : 4/23/2026 10:38:21 AM
diagnosticLink       : www.t1info.net/abc123
diagnosticLinkStatus : ACTIVE
recordCount          : 0
createdBy            : jsmith
groupId              : abc123
note                 : Test
createdTime          : 4/23/2026 10:38:21 AM
expiryTime           : 4/30/2026 10:38:21 AM
ipaHostname          : example.srip.net
diagnosticLink       : www.t1info.net/abc123
diagnosticLinkStatus : ACTIVE
createdBy            : jsmith
submissionsRemaining : 50

Translate an error string

With New-EdgeDiagnosticsErrorTranslation, get a summary and logs for an error with a specific reference code from the edge server where the error occurred.

When passing an optional -TraceForwardLogs switch parameter, you get logs from all edge servers involved in serving the request.

New-EdgeDiagnosticsErrorTranslation -ErrorCode '1.2A3b4c56.7890123.45678'
requestId       : 12345
request         : @{errorCode=1.2A3b4c56.7890123.45678; traceForwardLogs=False}
executionStatus : IN_PROGRESS
retryAfter      : 3
link            : /edge-diagnostics/v1/error-translator/requests/12345
createdTime     : 4/23/2026 11:05:18 AM
createdBy       : jsmith

For an operation in progress, the returned object contains retryAfter, requestId, and link. In this case, wait for the retryAfter interval to complete, then use the requestId to run Get-EdgeDiagnosticsErrorTranslation.

Get-EdgeDiagnosticsErrorTranslation -RequestID 12345
requestId        : 12345
request          : @{errorCode=1.2A3b4c56.7890123.45678; traceForwardLogs=False}
executionStatus  : SUCCESS
createdTime      : 4/23/2026 11:05:18 AM
completedTime    : 4/23/2026 11:05:21 AM
createdBy        : jsmith
result           : @{reasonForFailure=ERR_METADATA_APPLY_FAILURE|EW:error. Internal error. For more details, contact the 
                  support team.; propertyName=my-property; 
                  propertyUrl=/apps/property-manager/#/property?gid=12345&aid=67890; 
                  url=https://example.com/index.html; cpCode=98765; httpResponseCode=500; date=4/22/2026 
                  7:06:55 PM; epochTime=1776884815; clientIp=; connectingIp=; edgeServerIp=; 
                  cacheKeyHostname=main-server.us-southeast-1.linodeobjects.com; clientRequestMethod=GET; logLines=; grepUrl=/
                  edge-diagnostics/v1/grep?edgeIp=12.34.56.78&cpCode=98765&start=2026-04-22T19:01:55Z&end=2026-04-22T19:11:
                  55Z&httpStatusCode=500&clientIp=98.76.54.3&arl=/D/123/98765/000/main-server.us-southeast-1.linodeobjects.c
                  om/index.html}
suggestedActions : {Check for long times., Check content length/bytes served.}

Edge

Use these commands to get basic data from an edge server.

Locate and verify an IP

With Find-IPAddress, get geolocation data of the IP's network.

Find-IPAddress -IPAddress 123.45.6.7, 234.56.78.9
executionStatus ipAddress   geoLocation
--------------- ---------   -----------
SUCCESS         123.45.6.7  @{countryCode=US; regionCode=VA; city=ASHBURN; dma=511; msa=8872; pmsa=8840; latitude=39.0438; longitude=-77.4879; areaCode=703;…
SUCCESS         234.56.78.9 @{countryCode=US; regionCode=TX; city=DALLAS; dma=623; msa=1922; pmsa=1920; latitude=32.7874; longitude=-96.7989; areaCode=214+9…

With Test-EdgeDiagnosticsIP, verify whether an IP belongs to an edge network. Optionally, pass the ‑IncludeLocation switch parameter to get an IP's network geolocation data.

Test-EdgeDiagnosticsIP -IPAddress 123.45.6.7
request         : @{ipAddresses=System.Object[]}
createdBy       : jsmith
createdTime     : 4/10/2026 11:43:45 AM
completedTime   : 4/10/2026 11:43:45 AM
executionStatus : SUCCESS
results         : {@{executionStatus=SUCCESS; ipAddress=123.45.6.7; isEdgeIp=True}}

Error statistics

With Get-EdgeDiagnosticsErrorStatistics, get error statistics for a URL or CP code based on the 9-second traffic sample from the last 2 minutes.

# By CP code
Get-EdgeDiagnosticsErrorStatistics -CPCode 98765 -Delivery 'ENHANCED_TLS'

# By URL
Get-EdgeDiagnosticsErrorStatistics -URL 'https://www.example.com' -Delivery 'ENHANCED_TLS'
request         : @{cpCode=98765; delivery=ENHANCED_TLS}
createdBy       : jsmith
createdTime     : 2026-04-24T15:36:50Z
completedTime   : 2026-04-24T15:36:50Z
executionStatus : SUCCESS
result          : @{edgeErrors=519; edgeHits=2561; edgeFailurePercentage=20.27; originErrors=1; originHits=135;
                  originFailurePercentage=0.74; topEdgeIpsWithError=System.Object[];
                  topEdgeIpsWithErrorFromOrigin=System.Object[]; topEdgeIpsWithSuccess=System.Object[];
                  topEdgeIpsWithSuccessFromOrigin=System.Object[]; edgeStatusCodeDistribution=System.Object[];
                  originStatusCodeDistribution=System.Object[]}

GREP request

With New-EdgeDiagnosticsGrep, launch an asynchronous GREP request to get logs for an edge server IP address from either the last 6 or 24 hours, depending on the server and traffic conditions.

To verify if an IP belongs to an edge server, run the Test-EdgeDiagnosticsIP operation first.

Parameter Description
Required
edgeIp An edge IP you want to get the logs for. If you don't know if an IP is the edge IP, run the Test-EdgeDiagnosticsIP command first.
start A timestamp for a point of time in the past when the log search window starts.
end A timestamp for a point of time in the past when the log search window ends.
logType The type of a log record you want to get. Possible values are:
  • R for client requests to an edge server.
  • F for forward requests from an edge server to the origin.
  • BOTH for both R and R requests.
cpCodes A list of CP codes you want to get the logs for. You need to provide either this value or hostnames.
hostnames A list of hostnames you want to get the logs for. You need to provide either this value or cpCodes.
Optional
arls Akamai resource locators (ARLs) to filter the logs by. Contains:
  • comparison. Required. The type of a comparison filter. Possible values are:
    • CONTAINS if you want to get the logs for a specific value.
    • NOT_CONTAINS if you want to exclude a specific value from logs.
  • value. Required. A list of ARLs filter the logs by in relation to the comparison value.
clientIps A list of client IPs to filter the logs by.
httpStatusCodes HTTP status codes to filter the logs by. Contains:
  • comparison. Required. The type of a comparison filter. Possible values are:
    • EQUALS if you want to get the logs for a specific value.
    • NOT_EQUALS if you want to exclude a specific value from logs.
  • value. Required. A list of HTTP status codes to filter the logs by in relation to the comparison value.
userAgents A list of user agents to filter the logs by.
$MyGrepSettings = @{
  edgeIp = "87.6.5.4"
  start = "2026-04-24T06:08:40.000Z"
  end = "2026-04-24T06:08:45.000Z"
  logType = "BOTH"
  cpCodes = @(
    12345
  )
  httpStatusCodes = @{
    comparison = "EQUALS"
    value = @(
      "200",
      "201"
    )
  }
}

$MyGrepSettings | New-EdgeDiagnosticsGrep
$MyGrepSettings = '{
  "edgeIp": "87.6.5.4",
  "start": "2026-04-24T06:08:40.000Z",
  "end": "2026-04-24T06:08:45.000Z",
  "logType": "BOTH",
  "cpCodes": [
    12345
  ],
  "httpStatusCodes": {
    "comparison": "EQUALS",
    "value": [
      "200",
      "201"
    ]
  }
}'

$MyGrepSettings | New-EdgeDiagnosticsGrep
request         : @{cpCodes=System.Object[]; edgeIp=87.6.5.4; logType=BOTH; start=4/24/2026 6:08:40 AM; end=4/24/2026 
                6:08:45 AM; httpStatusCodes=}
requestId       : 12345
executionStatus : IN_PROGRESS
retryAfter      : 3
link            : /edge-diagnostics/v1/grep/requests/12345
createdTime     : 4/24/2026 2:47:13 PM
createdBy       : jsmith

For an operation in progress, wait for the retryAfter interval to complete, then use the requestId to run Get-EdgeDiagnosticsGrep.

Get-EdgeDiagnosticsGrep -RequestID 12345
request         : @{cpCodes=System.Object[]; edgeIp=87.6.5.4; logType=BOTH; start=4/24/2026 6:08:40 AM; end=4/24/2026 
                6:08:45 AM; httpStatusCodes=}
requestId       : 12345
executionStatus : SUCCESS
createdTime     : 4/24/2026 2:47:13 PM
completedTime   : 4/24/2026 2:47:30 PM
createdBy       : jsmith
logLinesCount   : 0
result          : @{logs=System.Object[]; legend=}
edgeIpLocation  : @{city=CLEVELAND; regionCode=OH; countryCode=US; asNumber=12345}

Alternatively, if you know the exact values to filter the logs by and you want to get the data directly, run the synchronous Get-EdgeDiagnosticsLogs command.

$CreateParams = @{
    EdgeIP         = '87.6.5.4'
    CPCode         = 12345
    HttpStatusCode = '200'
    Start          = '2026-04-24T06:08:40.000Z'
    End            = '2026-04-24T06:08:45.000Z'
    LogType        = 'R'
}

Get-EdgeDiagnosticsLogs @CreateParams
request         : @{cpCodes=System.Object[]; edgeIp=87.6.5.4; logType=R; start=4/24/2026 6:08:40 AM; end=4/24/2026 
                  6:08:45 AM; httpStatusCodes=}
executionStatus : SUCCESS
createdTime     : 4/24/2026 14:35:03 PM
createdBy       : jsmith
logLinesCount   : 0

Translate an Akamaized URL

With Get-EdgeDiagnosticsURLTranslation, get basic information about an Akamaized URL (ARL), such as typecode, origin server, content provider (CP) code, serial number, and time to live (TTL).

Get-EdgeDiagnosticsURLTranslation -URL 'https://www.example.akamai.net'
typeCode         :  Object changes when ARL changes
cacheKeyHostname : main-server.us-southeast-1.linodeobjects.com
cpCode           : 98765
serialNumber     : 123456
ttl              : Infinite
pragma           : no-cache
cacheControl     : max-age=0, no-cache, no-store

Metadata tracing request

New-EdgeDiagnosticsMetadataTrace. Launch an asynchronous request to trace metadata for a URL configured in Property Manager.

The metadata tracing works for the current property version active on either the staging or production network.

If you don't provide an -EdgeIP or -MDTLocationID, then Edge Diagnostics runs the operation using a random location.

New-EdgeDiagnosticsMetadataTrace -URL 'https://www.example.com'
requestId       : 12345
createdBy       : jsmith
createdTime     : 4/23/2026 2:23:44 PM
executionStatus : IN_PROGRESS
retryAfter      : 3
link            : /edge-diagnostics/v1/metadata-tracer/requests/12345
request         : @{url=https://example.com; requestHeaders=System.Object[]; useStaging=False}

For an operation in progress, wait for the retryAfter interval to complete, then use the requestId to run Get-EdgeDiagnosticsMetadataTrace.

Optionally, add the -HTMLFormat switch parameter to return the response in static HTML format.

Note: The output of this command may exceed your terminal’s visible area. To view it more easily:

  • Pipe the output to a pager, for example, | Out-Host -Paging or | more.
  • Redirect it to a file, for example, > output.txt.
Get-EdgeDiagnosticsMetadataTrace -RequestID 12345
requestId       : 12345
createdBy       : jsmith
createdTime     : 4/23/2026 2:47:09 PM
completedTime   : 4/23/2026 2:47:17 PM
executionStatus : SUCCESS
internalIp      : 123.45.67.8
edgeIpLocation  : @{city=CLEVELAND; regionCode=OH; countryCode=US; asNumber=12345}
request         : @{url=https://www.example.com; requestHeaders=System.Object[]; useStaging=False; httpMethod=GET}
result          : @{httpStatusCode=200; responseHeaderList=System.Object[]; httpVersion=HTTP/2; reasonPhrase=; exitCode=0; traceInformation=System.Object[]; arlDataXml=<?xml version="1.0" encoding="UTF-8"?>
                  <configs>sample – removed for readability</configs>}
summary         : @{accountId=act_A-CCT1234; contractId=ctr_C0N7RAC7; groupId=grp_12345; propertyId=prp_23456; assetId=98765; 
                propertyName=my-property; propertyVersion=1; rules=; ruleFormat=v2025-09-09}
<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        td {white-space: pre-wrap;}
    </style>
    <title>MetadataTrace</title>
</head>
<body>

<table>
    <tbody>
      <tr>
          <td colspan="3"><b>Request Details</b></td>
      </tr>
      <tr>
          <td>Request ID :</td>
          <td colspan="2">12345</td>
      </tr>
      <tr>
          <td>Created By :</td>
          <td colspan="2">jsmith</td>
      </tr>
      <tr>
          <td>Execution Status :</td>
          <td colspan="2">SUCCESS</td>
      </tr>
      <tr>
          <td>Request :</td>
          <td>URL :</td>
          <td>https://www.example.com</td>
      </tr>
      <tr>
          <td>sample – removed for readability</td>
      </tr>
    </tbody>
</table>

</body>
</html>

Edge to Origin

Use these commands to primarily diagnose issues in the traffic between an edge and origin server. You can also use these tools for other issues.

Note:

Before using EdgeDiagnosticsCurl, EdgeDiagnosticsDig, or New-EdgeDiagnosticsMTR, run these operations first:

  • Test-EdgeDiagnosticsIP to verify if an IP belongs to an edge server.
  • Get-EdgeDiagnosticsLocations to get the edge location ID.

Also, before using New-EdgeDiagnosticsMTR, run these operations first:

  • Get-EdgeDiagnosticsGTMProperties to get a GTM hostname.
  • Get-EdgeDiagnosticsGTMPropertyIPs to get the test and target IPs for the hostname.

cURL request

With New-EdgeDiagnosticsCurl, get the raw HTML for requests from any IP address or location. Use the response results to verify if users can connect to a URL, check request and response headers, and test the URL with interjected headers.

# Diagnose a URL by IP address
New-EdgeDiagnosticsCurl -URL 'https://www.example.com' -IPVersion 'IPV4' -EdgeIP '123.45.67.8'

# Diagnose a URL by location
New-EdgeDiagnosticsCurl -URL 'https://www.example.com' -IPVersion 'IPV4' -EdgeLocationID 'cleveland-oh-unitedstates'
createdBy        : jsmith
createdTime      : 4/23/2026 2:56:57 PM
completedTime    : 4/23/2026 2:57:15 PM
executionStatus  : SUCCESS
internalIp       : 123.45.67.8
edgeIpLocation   : @{city=CLEVELAND; regionCode=OH; countryCode=US; asNumber=12345}
warning          : @{key=unsupported.content.type.or.malicious.extension; message=Unsupported content types and URLs with 
                  potentially malicious suffixes return response body with 0 bytes. Check the documentation for the list of 
                  suffixes.}
suggestedActions : {Compare the response headers served from edge and origin., Check for content correctness., Check content 
                  length/bytes served.}
request          : @{url=https://www.example.com/; edgeIp=123.45.67.8; ipVersion=IPV4; requestHeaders=System.Object[]}
result           : @{httpStatusCode=307; timing=; responseHeaderList=System.Object[]; httpVersion=HTTP/1.1; 
                  reasonPhrase=Temporary Redirect; exitCode=0}

DIG request

With New-EdgeDiagnosticsDig, get a DIG response with DNS details for a domain name' hostname from a particular location or edge server IP. The results may help you diagnose issues with domain name resolutions.

# Diagnose a hostname by IP address
New-EdgeDiagnosticsDig -Hostname 'example.com' -QueryType 'A' -EdgeIP '123.45.67.8'

# Diagnose a hostname by location
New-EdgeDiagnosticsDig -Hostname 'example.com' -QueryType 'A' -EdgeLocationID 'cleveland-oh-unitedstates'
createdTime     : 4/23/2026 3:36:52 PM
completedTime   : 4/23/2026 3:37:01 PM
executionStatus : SUCCESS
edgeIpLocation  : @{city=CLEVELAND; regionCode=OH; countryCode=US; asNumber=12345}
internalIp      : 123.45.67.8
request         : @{hostname=example.com; queryType=A; edgeIp=123.45.67.8; isGtmHostname=False}
result          : @{answerSection=System.Object[]; result=
                  ; <<>> DiG 1.23.45-0ubuntu0.22.04.2aka22.0.7-Ubuntu <<>> example.com -t A
                  ;; global options: +cmd
                  ;; Got answer:
                  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 123
                  ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
                  
                  ;; OPT PSEUDOSECTION:
                  ; EDNS: version: 0, flags:; udp: 321
                  ;; QUESTION SECTION:
                  ;example.com.           IN      A
                  
                  ;; ANSWER SECTION:
                  example.com.    60      IN      CNAME   lb.example.com.
                  lb.example.com. 30      IN      A       123.456.789.01
                  
                  ;; Query time: 4 msec
                  ;; SERVER: 123.4.5.6#78(123.4.5.6) (UDP)
                  ;; WHEN: Thu Apr 23 15:37:01 UTC 2026
                  ;; MSG SIZE  rcvd: 83}

MTR request

With New-EdgeDiagnosticsMTR, check the traffic between a location or an IP belonging to an edge network and an IP or hostname. Use the response results to verify whether the traffic between a specific source and destination suffers packets' loss or latency.

# Run for an IP address
New-EdgeDiagnosticsMTR -Destination '123.45.67.8' -DestinationType 'IP' -PacketType 'TCP' -Source 'cleveland-oh-unitedstates' -SourceType 'LOCATION'

# Run for a hostname
New-EdgeDiagnosticsMTR -Destination 'example.com' -DestinationType 'HOST' -PacketType 'TCP' -Port 443 -Source '87.65.43.2' -SourceType 'EDGE_IP'
sourceIpLocation      : @{city=CLEVELAND; regionCode=OH; countryCode=US; asNumber=12345}
destinationIpLocation : @{city=CLEVELAND; regionCode=OH; countryCode=US}
sourceContext         : EDGE_IP
destinationContext    : HOSTNAME
sourceInternalIp      : 87.65.43.2
destinationInternalIp : 123.45.67.8
createdBy             : jsmith
createdTime           : 4/23/2026 4:00:51 PM
completedTime         : 4/23/2026 4:01:29 PM
executionStatus       : SUCCESS
suggestedActions      : {Look for a packet loss or sudden jumps in the hop time., For a loss or latency within the end user ISP 
                        network, ask the end user to contact their ISP., For a loss or latency within Akamai network, contact 
                        Akamai Technical Support., If a packet loss occurs at one hop but does not propagate to the end of the 
                        trace, it is irrelevant.…}
request               : @{sourceType=EDGE_IP; destinationType=HOST; source=87.65.43.2; destination=example.com; 
                        port=443; packetType=TCP}
result                : @{startTime=1776960070; host=a12-345-67-8.deploy.akamaitechnologies.com; packetLoss=0; 
                        averageLatency=1.5; hops=System.Object[]; result=Start: 2026-04-23T16:01:10+0000
                        HOST: a12-345-67-8.deploy.akamaitechnologies.com   Loss%   Snt   Last   Avg  Best  Wrst StDev
                          1.|-- ???                                          100.0    10    0.0   0.0   0.0   0.0   0.0
                          2.|-- 12.123.123.1                                 0.0%     10    0.5   3.4   0.3  24.5   7.5
                                12.123.123.12                              
                          3.|-- 12-123-123-123.dsl.utg.ge (12.123.123.123)   0.0%     10    0.4   1.5   0.3   4.5   1.7
                          4.|-- 12-123-123-123.dsl.utg.ge (12.123.123.123)   0.0%     10    0.5   0.6   0.5   1.3   0.3
                          5.|-- 12.123.124.5                                 0.0%     10    1.1   1.5   1.1   2.1   0.4
                          6.|-- 12.123.125.6                                 0.0%     10    1.3   1.5   1.0   2.2   0.4}

Problem scenarios

If you're not sure where the problem is and which tool can help you identify the issue, use Problem scenarios.

You'll find several tools stitched up in these scenarios. You provide the input once, and the scenario runs several tools to provide you with the data and suggestions necessary to identify the cause of the issue.

URL health check

Use New-EdgeDiagnosticsURLHealthCheck to run the URL health check asynchronously. It runs in parallel these operations for a URL:

  • New-EdgeDiagnosticsGrep
  • New-EdgeDiagnosticsDig
  • New-EdgeDiagnosticsCurl
  • New-EdgeDiagnosticsMTR
  • Get-EdgeDiagnosticsURLTranslation
# Basic request
New-EdgeDiagnosticsURLHealthCheck -URL 'https://www.example.com'

# Advanced request
$CreateParams = @{
  URL            = 'https://www.example.com'
  EdgeLocationID = 'cleveland-oh-unitedstates'
  IPVersion      = 'IPV4'
  PacketType     = 'TCP'
  Port           = 443
  QueryType      = 'A'
  RequestHeaders = 'Pragma: akamai-x-cache-on, akamai-x-cache-remote-on'
  ViewsAllowed   = 'CONNECTIVITY'
}

New-EdgeDiagnosticsURLHealthCheck @CreateParams
requestId       : 12345
executionStatus : IN_PROGRESS
retryAfter      : 20
link            : /edge-diagnostics/v1/url-health-check/requests/12345
createdBy       : jsmith
createdTime     : 4/24/2026 9:03:47 AM

For an operation in progress, wait for the retryAfter interval to complete, then use the requestId to run Get-EdgeDiagnosticsURLHealthCheck.

Get-EdgeDiagnosticsURLHealthCheck -RequestID 12345
requestId          : 12345
executionStatus    : SUCCESS
createdBy          : jsmith
createdTime        : 4/24/2026 4:07:35 PM
internalIp         : 80.67.82.222
internalIpLocation : @{city=CLEVELAND; regionCode=OH; countryCode=US; asNumber=12345}
domainDetails      : {@{executionContext=DEFAULT; executionStatus=SUCCESS; result=}}
content            : {@{additionalRequestParameters=; executionContext=DEFAULT; executionStatus=SUCCESS; 
                     suggestedActions=System.Object[]; result=}}
connectivity       : {@{sourceContext=EDGE_IP_CONNECTED_TO_ORIGIN; destinationContext=ORIGIN_IP; 
                     executionContext=EDGE_IP_TO_ORIGIN_IP; executionStatus=NOT_EXECUTED; info=}}
request            : @{url=https://www.example.com; requestHeaders=System.Object[]; ipVersion=IPV4; port=443; 
                     packetType=TCP; queryType=A; viewsAllowed=System.Object[]}
summary            : @{typeCode=User Defined TTL; cacheKeyHostname=www.example.com; cpCode=98765; serialNumber=1234; ttl=1 
                     Hours; edgeStatusCode=200; originResponseCode=0; edgeServerIp=12.34.56.789; 
                     originServerHostname=www.example-origin.com; cacheSetting=TCP_MISS 60m; domainDetails=System.Object[]; 
                     content=System.Object[]; connectivity=System.Object[]}

Connectivity problems

Use New-EdgeDiagnosticsConnectivityProblem to run the connectivity problems scenario asynchronously. It runs in parallel these operations for a URL:

  • New-EdgeDiagnosticsGrep
  • New-EdgeDiagnosticsCurl
  • New-EdgeDiagnosticsMTR

Use the response results to diagnose issues with slow downloads and high response times.

# Basic request
New-EdgeDiagnosticsConnectivityProblem -URL 'https://www.example.com'

# Advanced request
$CreateParams = @{
  URL            = 'https://www.example.com'
  ClientIP       = '12.34.567.890'
  EdgeLocationID = 'cleveland-oh-unitedstates'
  IPVersion      = 'IPV4'
  PacketType     = 'TCP'
  Port           = 443
  RequestHeaders = 'Pragma: akamai-x-cache-on, akamai-x-cache-remote-on'
}

New-EdgeDiagnosticsConnectivityProblem @CreateParams
requestId       : 12345
executionStatus : IN_PROGRESS
retryAfter      : 20
link            : /edge-diagnostics/v1/connectivity-problems/requests/12345
createdBy       : jsmith
createdTime     : 4/24/2026 9:42:11 AM

For an operation in progress, wait for the retryAfter interval to complete, then use the requestId to run Get-EdgeDiagnosticsConnectivityProblem.

Get-EdgeDiagnosticsConnectivityProblem -RequestID 12345
requestId          : 12345
executionStatus    : FAILURE
createdBy          : jsmith
createdTime        : 4/24/2026 9:42:11 AM
internalIp         : 12.34.567.890
internalIpLocation : @{city=CLEVELAND; regionCode=OH; countryCode=US; asNumber=12345}
errorResponse      : @{type=internal.server.error; title=Internal server error.; status=500; detail=Something went wrong. Try 
                     again later.}
request            : @{url=https://www.example.com}

Content problems

Use New-EdgeDiagnosticsContentProblem to run the content problems scenario asynchronously. It runs in parallel these operations for a URL:

  • New-EdgeDiagnosticsGrep
  • New-EdgeDiagnosticsCurl

Use the response results to troubleshoot incorrect or missing objects, or stale content being served, and partial downloads.

# Basic request
New-EdgeDiagnosticsContentProblem -URL 'https://www.example.com'

# Advanced request
$CreateParams = @{
  URL            = 'https://www.example.com'
  EdgeLocationID = 'cleveland-oh-unitedstates'
  IPVersion      = 'IPV4'
}

New-EdgeDiagnosticsContentProblem @CreateParams
requestId       : 12345
executionStatus : IN_PROGRESS
retryAfter      : 20
link            : /edge-diagnostics/v1/content-problems/requests/12345
createdBy       : jsmith
createdTime     : 4/24/2026 9:57:58 AM

For an operation in progress, wait for the retryAfter interval to complete, then use the requestId to run Get-EdgeDiagnosticsContentProblem.

Get-EdgeDiagnosticsContentProblem -RequestID 12345
requestId          : 12345
executionStatus    : SUCCESS
createdBy          : jsmith
createdTime        : 4/24/2026 9:57:58 AM
internalIp         : 12.34.567.890
internalIpLocation : @{city=CLEVELAND; regionCode=OH; countryCode=US; asNumber=12345}
logLines           : {@{executionContext=DEFAULT; executionStatus=SUCCESS; result=}}
content            : {@{additionalRequestParameters=; executionContext=DEFAULT; executionStatus=SUCCESS; 
                     suggestedActions=System.Object[]; result=}}
request            : @{url=https://www.example.com}
summary            : @{logLines=System.Object[]; content=System.Object[]}