Number of APIs: 30
Use Edge Diagnostics to identify common problems, such as server, DNS, or network issues, you may experience when delivering content to your users. With this API, you can:
- Diagnose issues in the traffic between a client and edge servers and between an edge and origin server.
- Fetch basic data from an edge server, such as an IP, error statistics, and more.
- Fetch data required by other operations, such as edge server locations, GTM properties, and more. Create an authentication credential that contains the client token and client secret required to authenticate Akamai API requests. Note: If you don't have access to the Identity and Access Management tool, contact your local Akamai Control Center admin or your Akamai account team for assistance. Note: If you need to refine access levels or permissions, see Create a client with custom permissions. Some of the diagnostic tools this API makes available require certain features to be available under your product and contract. For example, you need Global Traffic Management enabled to run the corresponding tools, otherwise you get a 403 error. You can use this API collection in these integration methods:
- API
- CLIAuthentication
[default]
as a header above all text. [default]
client_secret = C113nt53KR3TN6N90yVuAgICxIRwsObLi0E67/N8eRN=
host = akab-h05tnam3wl42son7nktnlnnx-kbob3i3v.luna.akamaiapis.net
access_token = akab-acc35t0k3nodujqunph3w7hzp7-gtm6ij
client_token = akab-c113ntt0k3n4qtari252bfxxbsl-yvsdj
Dependencies
Integration methods
1. Connectivity problems - Run the Connectivity problems scenario
POST https://{{host}}/edge-diagnostics/v1/connectivity-problems
Launches an asynchronous request to simultaneously run Launch a GREP request, Request content with cURL, and Test network connectivity with MTR operations for a URL. It may help you diagnose issues with slow download and high response time. Successful operations return fetched GREP, cURL, and MTR data.
2. Connectivity problems - Get the Connectivity problems scenario response
GET https://{{host}}/edge-diagnostics/v1/connectivity-problems/requests/:requestId
Returns the status of the asynchronous Run the connectivity problems scenario request. Operations with the SUCCESS
status include also fetched GREP, cURL, and MTR data.
3. Content problems - Run the Content problems scenario
POST https://{{host}}/edge-diagnostics/v1/content-problems
Launches an asynchronous request to simultaneously run Launch a GREP request and Request content with cURL operations for a URL. It may help you diagnose issues with slow download and high response time. Successful operations return fetched GREP and cURL data.
4. Content problems - Get the Content problems scenario response
GET https://{{host}}/edge-diagnostics/v1/content-problems/requests/:requestId
Returns the status of the asynchronous Run the content problems scenario request. Operations with the SUCCESS
status include fetched GREP and cURL data.
5. CURL - Request content with cURL
POST https://{{host}}/edge-diagnostics/v1/curl
Requests content using the curl
command to provide the raw HTML for a URL, including request headers. You can run this operation for a specific location, an edge server IP, or a Site Shield map. If you want to get the data for a location, you need to run the List available edge server locations operation first to get edgeLocationId
. And if you want to run this operation for an IP, you may need to verify an IP to check if it belongs to an edge server. If you provide neither a location nor an edge server IP, then Edge Diagnostics runs the operation using a random edge server IP.
6. ESI debugger - Get an ESI debugging report
POST https://{{host}}/edge-diagnostics/v1/esi-debugger-api/v1/debug
This operation provides a debugging report on the ESI code of your source page and all pages that the source page references.
7. DIG - Get domain details with dig
POST https://{{host}}/edge-diagnostics/v1/dig
Uses the dig
command to provide DNS details for the location of an edge server, a hostname or a domain name, or a GTM hostname. The results may help you diagnose issues with domain name resolutions. You can run this operation either for a specific location or an edge IP. If you want to get the data for a location, you need to run the List available edge server locations operation first to get edgeLocationId
. To run this operation for an IP, you may need to verify an IP, if it belongs to an edge server. And to run this operation for a GTM hostname, you need to run the List GTM properties operation first. If you don't provide neither a location ID nor an edge server IP, then Edge Diagnostics runs the operation using a random edge server IP.
8. Edge server locations - List available edge server locations
GET https://{{host}}/edge-diagnostics/v1/edge-locations
Lists active edge server locations you can use to run Request content with cURL, Get domain details with dig, Test network connectivity with MTR, Run the URL health check, Run the connectivity problems scenario, and Run the content problems scenario operations. To get a subset of edge servers supporting metadata tracer, run the List available edge server locations for metadata tracing operation.
9. Error translator - Translate error string
POST https://{{host}}/edge-diagnostics/v1/error-translator
Launches an asynchronous request to fetch summary and logs for an error with a specific reference code. You can also translate any Global Request Number (GRN) generated by the Property Manager's Global Request Number behavior. You can get the error logs from the last 6 or 24 hours depending on the server and traffic conditions. For operations in progress, the returned object contains retryAfter
, requestId
, and link
. In this case, wait for the duration of the retryAfter
interval, then either use the requestId
to run the Get a translate error string response operation, or simply GET the link
.
10. Error translator - Get a translate error string response
GET https://{{host}}/edge-diagnostics/v1/error-translator/requests/:requestId
Returns the status of the asynchronous Translate error string request. For operations with the SUCCESS
status, the response includes details about the error. For operations in progress, the returned object contains retryAfter
, requestId
, and link
. In this case, wait for the duration of the retryAfter
interval, then run this operation again or simply GET the link
.
11. Error statistics - Get error statistics
POST https://{{host}}/edge-diagnostics/v1/estats
Returns HTTP status codes distribution statistics from delivering a URL or CP code based on the nine-second traffic sample from the last two minutes. You can filter the results by delivery
and errorType
. The delivery
is the delivery type of your resource, either ENHANCED_TLS
or STANDARD_TLS
. The STANDARD_TLS
value returns data for the HTTP traffic with Standard TLS hostname, whereas ENHANCED_TLS
for the HTTPS traffic with Enhanced TLS hostname. Without this filter, Edge Diagnostics checks on its own the type of delivery used by your resource and returns data for it. If your resource uses both delivery types, then Edge Diagnostics returns data for the type which got all data collected faster. If you choose the delivery type not used by your resource, then the results are empty. If you want to add this filter, you can run the Get an edge hostname operation in Edge Hostnames API to confirm the delivery type of your resource. It's the securityType
value. The errorType
filter is for the traffic's direction. The EDGE_ERRORS
value returns data for the traffic between a customer and an edge server and ORIGIN_ERRORS
between the edge server and the origin. Without this filter, Edge Diagnostics returns data for both directions.
12. GREP - Launch a GREP request
POST https://{{host}}/edge-diagnostics/v1/grep
Launches an asynchronous request to fetch logs for an edge server IP address using the grep
command. To verify if an IP belongs to an edge server, run the Verify an IP operation first. If you known the exact values to filter the logs by and you want to get the data directly, run the synchronous Get specific logs operation.
GET https://{{host}}/edge-diagnostics/v1/grep?edgeIp={{edgeIp}}&cpCode={{cpCode}}
Using the grep
command, returns logs that match the query parameters. This operation gets the data directly. If you don't have detailed information about the logs or you want to avoid latency, run the Launch a GREP request operation. If you provide request parameters for which Edge Diagnostics doesn't find logs, you get the validation error.
14. GREP - Check a GREP request status
GET https://{{host}}/edge-diagnostics/v1/grep/requests/:requestId
Returns the status of the asynchronous Launch a GREP request request. Operations with the SUCCESS
status include also the grep
logs.
15. GTM properties - List GTM properties
GET https://{{host}}/edge-diagnostics/v1/gtm/gtm-properties
Lists GTM properties you have access to. You can use the returned hostname
values to run Test network connectivity with MTR and Get domain details with dig operations for a GTM hostname. Note, that the Test network connectivity with MTR operation requires also hostname's test and target IP values, that you can get with the List test and target IPs for a GTM hostname operation.
16. GTM properties - List test and target IPs for a GTM hostname
GET https://{{host}}/edge-diagnostics/v1/gtm/:property/:domain/gtm-property-ips
Lists test and target IPs for a GTM property. You can use the returned data to run the Test network connectivity with MTR operation for a GTM hostname. To get the data necessary for this request, run the List GTM properties operation first.
17. IPA hostnames - List IP acceleration hostnames
GET https://{{host}}/edge-diagnostics/v1/ipa/hostnames
Lists IP acceleration (IPA) hostnames you have access to and can generate a diagnostic link to collect diagnostic data.
18. IP network location - Locate an IP network
POST https://{{host}}/edge-diagnostics/v1/locate-ip
Returns geolocation data of an IP's network. You can enter up to 10 IPs.
19. Metadata Tracer - Launch a metadata tracing request
POST https://{{host}}/edge-diagnostics/v1/metadata-tracer
Launches an asynchronous request to trace metadata for a URL configured in Property Manager. The metadata tracing works for the current property version active either on staging or production. To run the operation for a location, run the List available locations for metadata tracing operation first to get available values. If you don't provide a location ID or an edge server IP, then Edge Diagnostics runs the operation using a random location.
20. Metadata Tracer - List available edge server locations for metadata tracing
GET https://{{host}}/edge-diagnostics/v1/metadata-tracer/locations
Lists active locations you can use to run the Launch a metadata tracing request operation together with information about supported HTTP methods. The operation responds with a subset of edge servers returned by the List available edge server locations operation.
21. Metadata Tracer - Check a metadata tracing request status
GET https://{{host}}/edge-diagnostics/v1/metadata-tracer/requests/:requestId
Returns the status of the asynchronous Launch a Metadata Tracer request operation. For operations with the SUCCESS
status, the response includes the metadata details. For requests with the Accept: text/html
request header, results are in static HTML format. To learn more about the results, check How to read the results.
22. MTR - Test network connectivity with MTR
POST https://{{host}}/edge-diagnostics/v1/mtr
Uses MTR to provide information about packet loss and latency between an edge server IP, location, or Site Shield map and a remote destination. To run this operation for an IP, you may need to verify an IP if it belongs to an edge server. To run this operation for a GTM hostname, run List GTM properties and List test and target IPs for a GTM hostname operations first to get the test and target IPs for the hostname.
23. ARL translator - Translate an Akamaized URL
POST https://{{host}}/edge-diagnostics/v1/translated-url
Provides basic information about a specific hostname or domain name, such as typecode, origin server, CP code, serial number, and TTL. A URL becomes an Akamaized URL (ARL) once it's on an edge server.
24. URL Health Check - Run the URL health check
POST https://{{host}}/edge-diagnostics/v1/url-health-check
Launches an asynchronous request to simultaneously run Launch a GREP request, Get domain details with dig, Request content with cURL, Test network connectivity with MTR and Translate an Akamaized URL operations for a URL. Successful operations return fetched GREP, dig, cURL, and MTR data and Akamaized URL (ARL) details.
25. URL Health Check - Get a URL health check response
GET https://{{host}}/edge-diagnostics/v1/url-health-check/requests/:requestId
Returns the status of the asynchronous Run the URL health check request. Operations with the SUCCESS
status include also fetched GREP, dig, cURL, and MTR data.
26. User diagnostic data - Generate a diagnostic link
POST https://{{host}}/edge-diagnostics/v1/user-diagnostic-data/groups
Generates a diagnostic link for you to share with end users of a particular URL or IP acceleration hostname experiencing similar issues. After an end user clicks the link, the tool gathers necessary diagnostic data and asks the end user to submit it. Once submitted, you can check the collected data with the Get diagnostic data of a group operation. Each link is valid for 7 days of 50 submissions. To get the list of IP acceleration hostname you can collect diagnostic data for, run the List IP acceleration hostnames operation first.
27. User diagnostic data - List end user groups
GET https://{{host}}/edge-diagnostics/v1/user-diagnostic-data/groups
Lists groups created for collecting diagnostic data and their details. A group stores diagnostic data of end users of a particular domain experiencing similar issues submitted with the specific diagnostic link. To create the diagnostic link, run the Generate a diagnostic link operation. To check the data collected for a group, store the returned groupId
value and use it to run the Get diagnostic data of a group operation.
28. User diagnostic data - Get diagnostic data for an end user group
GET https://{{host}}/edge-diagnostics/v1/user-diagnostic-data/groups/:groupId/records
Returns collected diagnostic data for a specific group. You can also request additional cURL, DIG, and MTR data. To get the groupId
value, run the List groups operation first.
29. IP verification - Verify an IP
POST https://{{host}}/edge-diagnostics/v1/verify-edge-ip
Verifies if an IP belongs to an edge server. For IPs verified positively, you can continue gathering diagnostic data with Request content with cURL, Get domain details with dig, or Test network connectivity with MTR operations. You can enter up to 10 IPs.
30. IP verification and location - Verify and locate an IP
POST https://{{host}}/edge-diagnostics/v1/verify-locate-ip
Verifies if an IP belongs to an edge server and gets the geolocation data of its network. For IPs verified positively, you can continue gathering diagnostic data with Request content with cURL, Get domain details with dig, or Test network connectivity with MTR operations.
ENDPOINTS