curl --request GET \
--url https://{your-subdomain}.neetoplaydash.com/api/external/v1/projects/{project_id}/runs/{run_id}/top_errors \
--header 'Accept: <accept>' \
--header 'X-Api-Key: <x-api-key>'const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>', Accept: '<accept>'}};
fetch('https://{your-subdomain}.neetoplaydash.com/api/external/v1/projects/{project_id}/runs/{run_id}/top_errors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{your-subdomain}.neetoplaydash.com/api/external/v1/projects/{project_id}/runs/{run_id}/top_errors"
headers = {
"X-Api-Key": "<x-api-key>",
"Accept": "<accept>"
}
response = requests.get(url, headers=headers)
print(response.text){
"top_errors": [
{
"count": 3,
"log": "TimeoutError: locator.click: Timeout 10000ms exceeded.",
"test_entity_ids": [
"vhrscje",
"dhkscfj"
],
"test_entities": [
{
"id": "vhrscje",
"title": "adds an item to the cart",
"spec": {
"id": "bhkscfe",
"title": "cart.spec.ts"
},
"project": "spinkart-web",
"describe_path": [
"Cart"
]
}
]
}
]
}List top errors
List a run’s top errors, with the failing tests grouped by their shared error log and ordered by the number of affected tests, most first. For an exhaustive list of failing tests regardless of error, use the list test entities endpoint with a status filter instead.
curl --request GET \
--url https://{your-subdomain}.neetoplaydash.com/api/external/v1/projects/{project_id}/runs/{run_id}/top_errors \
--header 'Accept: <accept>' \
--header 'X-Api-Key: <x-api-key>'const options = {method: 'GET', headers: {'X-Api-Key': '<x-api-key>', Accept: '<accept>'}};
fetch('https://{your-subdomain}.neetoplaydash.com/api/external/v1/projects/{project_id}/runs/{run_id}/top_errors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{your-subdomain}.neetoplaydash.com/api/external/v1/projects/{project_id}/runs/{run_id}/top_errors"
headers = {
"X-Api-Key": "<x-api-key>",
"Accept": "<accept>"
}
response = requests.get(url, headers=headers)
print(response.text){
"top_errors": [
{
"count": 3,
"log": "TimeoutError: locator.click: Timeout 10000ms exceeded.",
"test_entity_ids": [
"vhrscje",
"dhkscfj"
],
"test_entities": [
{
"id": "vhrscje",
"title": "adds an item to the cart",
"spec": {
"id": "bhkscfe",
"title": "cart.spec.ts"
},
"project": "spinkart-web",
"describe_path": [
"Cart"
]
}
]
}
]
}{your-subdomain} with your workspace’s subdomain. Learn how to find your subdomain in Workspace subdomain.
Headers
Use the X-Api-Key header to provide your workspace API key. Refer to Authentication for more information.
Specifies the expected response format. Must be set to application/json for proper API communication.
application/json Path Parameters
Id of the project. You can get project_id by listing your projects using the List projects API.
"pdqmxlz"
Response
OK - Request succeeded. Returns at most 20 error groups, ordered by the number of affected tests.
Hide child attributes
Hide child attributes
Number of tests affected by the error.
3
The error log the tests are grouped by, without Playwright's per-test Call log: section.
"TimeoutError: locator.click: Timeout 10000ms exceeded."
Unique identifiers of every test affected by the error.
["vhrscje", "dhkscfj"]
The affected tests, each with its spec, project, and describe path.
Hide child attributes
Hide child attributes
Unique identifier of the test entity.
"vhrscje"
Title of the test.
"adds an item to the cart"
Title of the project the test belongs to.
"spinkart-web"
Titles of the describe blocks enclosing the test, outermost first.
["Cart"]