Compare build issues API in Automated tests
Use this API to compare two builds of the same project. For each issue, it returns a lifecycle status (new, retained, or resolved) along with reconciled aggregate counts.
compare build issues
If Geo Region Restriction (GRR) is enabled for your account, add your region code to the host name:
api-accessibility-<region>.browserstack.com. See Geo Region Restriction endpoints for the region codes and examples.
Request parameters
Request
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \
"https://api-accessibility.browserstack.com/api/automated-tests/v1/builds/compare/issues?newReport={newBuildUuid}&baseReport={baseBuildUuid}"
-
newReport* String
Build ID of the newer build being compared against a baseline.
-
baseReport String
Build ID of the older baseline build. If omitted, the previous completed run of
newReportis used as the baseline. -
status String
Comma-separated subset of
new,retained,resolved. Defaults to all three. -
includeDuplicates Boolean
Whether to include duplicate issues in the response. Defaults to
false. -
limit Integer
Page size, in the range
[10, 100]. Defaults to10. -
nextPage String
Used to fetch subsequent pages from the API when
hasNextis true. Pass thenextPagereference received in the response of the last request.
Response Attributes 200 OK JSON
Response
{
"success": true,
"data": {
"summary": {
"newIssues": 0,
"retainedIssues": 12,
"resolvedIssues": 1,
"isMixedComparison": false,
"isGroupedComparison": false,
"baseReport": {
"id": "<base build TestRun UUID>",
"createdOn": "2026-04-15T06:56:54.916Z",
"projectName": "A11Y Issue Deduplication",
"buildName": "TAP Build",
"buildNumber": 2,
"engineVersion": "6.3.1",
"isGrouped": false,
"autoResolved": false
},
"newReport": {
"id": "<new build TestRun UUID>",
"createdOn": "2026-05-12T10:11:54.122Z",
"projectName": "A11Y Issue Deduplication",
"buildName": "TAP Build",
"buildNumber": 43,
"engineVersion": "6.3.1",
"isGrouped": true
}
},
"issues": [
{
"issueId": "39194976",
"signatureKey": "069e81b5de123183eb1478ca429bb9f526c090bf0558f97c869b0639547c17b7",
"status": "resolved",
"impact": "minor",
"url": "https://example.com/page6.html",
"componentId": "ul#top-menu-col",
"target": ["ul"],
"html": "<ul ...>",
"behaviour": "needs_review",
"ruleData": {
"id": "unnecessary-list",
"help": "List structure must not be used where it is not necessary",
"description": "Ensure that elements which are not lists visually are not structured as lists in HTML.",
"tags": ["cat.structure", "a11y-engine", "advanced", "wcag2a", "wcag131", "high-accuracy", "experimental"]
},
"guideline": "wcag131",
"testCaseIds": [308137],
"bestPractice": false,
"needsReview": true
}
],
"pagination": {
"hasNext": false,
"nextPage": null
}
},
"error": []
}
-
summary Object
â–¶ SHOW VALUESAggregate counts and metadata about both builds being compared.
-
newIssues Integer
Count of issues present in the new build that were not in the base build.
-
retainedIssues Integer
Count of issues present in both builds.
-
resolvedIssues Integer
Count of issues present in the base build but not in the new build.
-
isMixedComparison Boolean
True if exactly one of the two builds is grouped and the other is not.
-
isGroupedComparison Boolean
True if both builds are grouped.
-
baseReport Object
â–¶ SHOW VALUESDetails of the older baseline build.
-
id String
Build ID of the baseline build.
-
createdOn String
Timestamp at which the build was created. Nullable.
-
projectName String
Project the build belongs to. Nullable.
-
buildName String
Name of the build. Nullable.
-
buildNumber Integer
Build number. Nullable.
-
engineVersion String
Version of the accessibility engine that produced the build. Nullable.
-
isGrouped Boolean
True if the build is grouped.
-
autoResolved Boolean
True if
baseReportwas not supplied and was auto-resolved to the previous completed run.
-
-
newReport Object
â–¶ SHOW VALUESDetails of the newer build.
-
id String
Build ID of the new build.
-
createdOn String
Timestamp at which the build was created. Nullable.
-
projectName String
Project the build belongs to. Nullable.
-
buildName String
Name of the build. Nullable.
-
buildNumber Integer
Build number. Nullable.
-
engineVersion String
Version of the accessibility engine that produced the build. Nullable.
-
isGrouped Boolean
True if the build is grouped.
-
-
-
issues Array of Objects
â–¶ SHOW VALUESList of issues across both builds with their lifecycle status.
-
issueId String
ID of the issue.
-
signatureKey String
Stable identifier for the issue. Use this to track the same issue across builds.
-
status String
Lifecycle status of the issue. One of
new,retained, orresolved. -
impact String
Severity, one of
minor,moderate,serious, orcritical. -
url String
Page URL on which the issue was detected.
-
componentId String
Identifier for the component containing the issue.
-
target Array of Strings
CSS selector path identifying the element with the issue.
-
html String
HTML snippet of the element with the issue.
-
behaviour String
Curation state of the issue. One of
visible,hidden,needs_review, ornot_an_issue. -
ruleData Object
â–¶ SHOW VALUESMetadata about the accessibility rule the issue violates.
-
id String
Rule code.
-
help String
Short label for the rule. Nullable.
-
description String
Description of the rule. Nullable.
-
tags Array of Strings
Tags attached to the rule.
-
-
guideline String
WCAG guideline tag for the rule if present, else
null. -
testCaseIds Array of Integers
IDs of automated test cases on which the issue was observed.
-
bestPractice Boolean
True if the rule is a best-practice rule (not a WCAG violation).
-
needsReview Boolean
True if the issue requires manual confirmation.
-
-
pagination Object
â–¶ SHOW VALUESContains information to facilitate fetching additional records if they exist.
-
hasNext Boolean
True if there are more records to fetch. False if this is the last page.
-
nextPage String
A reference to the next page. Pass this as the
nextPagerequest parameter to fetch the next page.nullwhenhasNextisfalse.
-
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.