Manual tests
Access and manage Workflow Analyzer report data, including report summaries and detailed issue-level accessibility findings using the App Accessibility REST API.
The manual scans API endpoints let you list, retrieve, and analyze your Workflow Analyzer reports in App Accessibility testing. Use these endpoints to manage reports, get report summaries, and fetch detailed issue-level data for accessibility analysis.
Get a list of all Workflow Analyzer reports
Retrieve a paginated list of all Workflow Analyzer reports. You can filter by report name, status, creation date, bundle ID, and user ID.
Request Parameters
Request
curl 'https://api-app-accessibility.browserstack.com/api/accessibility/v1/reports?page_size=30&page=1' \
-u YOUR_USERNAME:YOUR_ACCESS_KEY
-
page_size integer
Number of reports to return per page.
-
page integer
Page number to navigate.
-
report_name string
Filter reports by name (optional).
-
status array
Filter by report status (e.g., [“in_progress”, “completed”]).
-
created_between array
Filter by creation date range (e.g., [“2024-12-10T00:00:00.652Z”,”2025-01-13T00:00:00.652Z”]).
-
bundle_id string
Bundle identifier (optional).
-
user_id string
BrowserStack user ID (optional).
Response attributes 200 application/json
Response
{
"success": true,
"info": {
"page": 1,
"page_size": 30,
"count": 2,
"prev": null,
"next": null
},
"filters": {
"status": ["in_progress", "completed"]
},
"reports": [
{
"id": 100001,
"name": "Wikipedia Workflow",
"created_at": "2025-08-31T10:16:29.932Z",
"created_by": {
"user_id": 67890,
"name": "User One",
"email_id": "user.one@example.com",
"group_id": 111,
"status": "active"
},
"app_details": {
"name": "WikipediaApp",
"version": "1.0.1",
"framework": "unknown",
"package_name": "com.example.wikipedia"
},
"status": "failed",
"issue_summary": {
"total": 46,
"severity_count": {
"minor": 6,
"serious": 16,
"critical": 20,
"moderate": 4,
"failed_issues": 46,
"needs_review": 0,
"confirmed": 0,
"hidden_issues": 0,
"duplicate_issues": 25
},
"scan_count": 8
}
},
{
"id": 100002,
"name": "Shopping App Workflow",
"created_at": "2025-08-29T19:32:23.721Z",
"created_by": {
"user_id": 67890,
"name": "User One",
"email_id": "user.one@example.com",
"group_id": 111,
"status": "active"
},
"app_details": {
"name": "ShoppingApp",
"version": "2.0.0",
"framework": "unknown",
"package_name": "com.example.shopping"
},
"status": "completed",
"issue_summary": {
"total": 168,
"severity_count": {
"minor": 4,
"serious": 94,
"critical": 66,
"moderate": 4,
"failed_issues": 168,
"needs_review": 0,
"confirmed": 0,
"hidden_issues": 0,
"duplicate_issues": 158
},
"scan_count": 10
}
}
]
}
-
success boolean
Whether the request was successful.
-
info object
▶ SHOW VALUESPagination information for the reports list.
-
page integer
Current page number.
-
page_size integer
Number of objects per page.
-
count integer
Total number of builds.
-
prev integer/null
Previous page number, if any.
-
next integer/null
Next page number, if any.
-
-
filters object
▶ SHOW VALUESAvailable filter options for report status.
-
status array
List of possible report statuses (for example, in_progress or completed).
-
-
reports array
▶ SHOW VALUESArray of report objects.
-
id integer
Unique identifier for the report.
-
name string
Name of the Workflow Analyzer report.
-
created_at string
ISO 8601 timestamp when the report was created.
-
created_by object
▶ SHOW VALUESUser who created the report.
-
user_id integer
BrowserStack user ID.
-
name string
Name of the user.
-
email_id string
Email address of the user.
-
group_id integer
Group ID of the user.
-
status string
Status of the user.
-
-
app_details object
▶ SHOW VALUESDetails of the app tested in the report.
-
name string
App name.
-
version string/null
App version.
-
framework string/null
Framework used in the app, if detectable.
-
package_name string
App package name.
-
-
status string
Current status of the report (e.g., in_progress, completed, failed).
-
issue_summary object
▶ SHOW VALUESSummary of issues for the report.
-
total integer
Total number of issues.
-
severity_count object
▶ SHOW VALUESCount of issues by severity.
-
minor integer
Number of minor issues.
-
serious integer
Number of serious issues.
-
critical integer
Number of critical issues.
-
moderate integer
Number of moderate issues.
-
failed_issues integer
Number of failed issues.
-
needs_review integer
Number of issues needing review.
-
confirmed integer
Number of confirmed issues.
-
hidden_issues integer
Number of hidden issues.
-
duplicate_issues integer
Number of duplicate issues.
-
-
scan_count integer
Number of scans performed.
-
-
Get the summary of a specific report
Retrieve a summary of a specific Workflow Analyzer report by its unique ID. This includes metadata, issue summary, WCAG configuration, and issue categories.
Request Parameters
Request
curl 'https://api-app-accessibility.browserstack.com/api/accessibility/v1/reports/{report_id}' \
-u YOUR_USERNAME:YOUR_ACCESS_KEY
-
report_id* integer
Unique identifier for the report.
Response attributes 200 application/json
Response
{
"success": true,
"meta_data": {
"name": "Wikipedia Workflow",
"created_at": "2025-08-29T19:32:23.721Z",
"ended_at": null,
"created_by": {
"id": 121393,
"user_id": 9309695,
"name": "User Name",
"email_id": "user@example.com",
"group_id": 2,
"status": "active"
},
"public_link": {
"isEnabled": false,
"link": ""
}
},
"wcag_version": "WCAG 2.1 AAA",
"best_practice": true,
"needs_review": true,
"data": {
"issue_summary": {
"total": 168,
"severity_count": {
"minor": 4,
"serious": 94,
"critical": 66,
"moderate": 4,
"failed_issues": 168,
"needs_review": 0,
"confirmed": 0,
"hidden_issues": 0,
"duplicate_issues": 158
},
"scan_count": 10
},
"issue_category": [
{"count": 44, "category": "Color Contrast"},
{"count": 6, "category": "Input Purpose"},
{"count": 7, "category": "Accessibility Labels"},
{"count": 4, "category": "Readable Text and Layout"},
{"count": 2, "category": "Text resize"},
{"count": 57, "category": "Accessible Elements"},
{"count": 48, "category": "Touch Target Size"}
]
}
}
-
success boolean
Whether the request was successful.
-
meta_data object
▶ SHOW VALUESMetadata for the report.
-
name string
Name of the Workflow Analyzer report.
-
created_at string
ISO 8601 timestamp when the report was created.
-
ended_at string/null
ISO 8601 timestamp when the report ended, or null if ongoing.
-
created_by object
▶ SHOW VALUESUser who created the report.
-
id integer
Internal user ID.
-
user_id integer
BrowserStack user ID.
-
name string
Name of the user.
-
email_id string
Email address of the user.
-
group_id integer
Group ID of the user.
-
status string
Status of the user.
-
-
public_link object
▶ SHOW VALUESPublic link details for the report.
-
is_enabled boolean
Whether the public link is enabled.
-
link string/null
The public link URL, or null if not enabled.
-
-
-
wcag_version string
WCAG version used for accessibility testing (e.g., “WCAG 2.1 AAA”).
-
best_practice boolean
Whether best practices are enabled for the report.
-
needs_review boolean
Whether needs review is enabled for the report.
-
data object
▶ SHOW VALUESReport data including issue summary and categories.
-
issue_summary object
▶ SHOW VALUESSummary of issues for the report.
-
total integer
Total number of issues.
-
severity_count object
▶ SHOW VALUESCount of issues by severity.
-
minor integer
Number of minor issues.
-
serious integer
Number of serious issues.
-
critical integer
Number of critical issues.
-
moderate integer
Number of moderate issues.
-
failed_issues integer
Number of failed issues.
-
needs_review integer
Number of issues needing review.
-
confirmed integer
Number of confirmed issues.
-
hidden_issues integer
Number of hidden issues.
-
duplicate_issues integer
Number of duplicate issues.
-
-
scan_count integer
Number of scans performed.
-
-
issue_category array
▶ SHOW VALUESList of issue categories and their counts.
-
count integer
Number of issues in this category.
-
category string
Name of the issue category.
-
-
Get the detailed issue-level data for a report
Get detailed, issue-level accessibility data for a Workflow Analyzer report. You can filter results by severity, rule, and more.
Request Parameters
Request
curl 'https://api-app-accessibility.browserstack.com/api/accessibility/v1/reports/100001/issues' \
-u YOUR_USERNAME:YOUR_ACCESS_KEY
-
report_id* integer
Unique identifier for the report.
-
severity array
List of severity levels to filter results (optional).
-
rules array
List of rule IDs to filter results (optional).
-
scanWithIssuesOnly boolean
If true, only return scans with issues (optional).
-
hideExperimentalRules boolean
If true, hide results for experimental rules (optional).
-
page_size integer
Number of issues to return per page (optional).
-
page integer
Page number to navigate (optional).
Response attributes 200 application/json
Response
{
"success": true,
"device": {
"model": "Pixel 7",
"os": "Android",
"os_version": "13"
},
"data": [
{
"meta": {
"snapshot_id": 38,
"screenshot_url": "https://cdn.example.com/screenshots/screenshot-17e976b2.jpeg",
"no_unique_issues": 0,
"severity_count": {
"serious": 2,
"critical": 1,
"minor": 3
}
},
"aggregated_results": [
{
"rule_id": "interactable-element-content-label",
"label": "Interactive element accessibility label",
"description": "All interactable UI elements or custom views must have a descriptive accessibility label. This label is essential for Screen Readers to understand the element's name, value, and purpose.",
"suggestion": "Add a descriptive label to the element.",
"show_suggestion": true,
"severity": "Serious",
"wcag_version": "2.1",
"wcag_level": "AA",
"guidelines": [
{
"version": "2.1",
"authority": "WCAG",
"level": "A",
"success_criteria_version": "1.3.1",
"url": "https://www.w3.org/TR/WCAG21/#info-and-relationships",
"message": "WCAG 2.1-1.3.1 A"
},
{
"version": "2.1",
"authority": "WCAG",
"level": "AA",
"success_criteria_version": "2.4.6",
"url": "https://www.w3.org/TR/WCAG21/#headings-and-labels",
"message": "WCAG 2.1-2.4.6 AA"
},
{
"version": "2.1",
"authority": "WCAG",
"level": "A",
"success_criteria_version": "4.1.2",
"url": "https://www.w3.org/TR/WCAG21/#name-role-value",
"message": "WCAG 2.1-4.1.2 A"
}
],
"learn_more_link": "https://www.example.com/docs/app-accessibility/rule-repository/rules-list/name-role-value#interactive-element-accessibility-label",
"is_experimental": false,
"rule_issues": [
{
"uid": "issue-44385-1",
"rule_dynamic_meta": {
"accessibility_label": "",
"accessibility_label_key": [
"desc"
]
},
"serial_number": 1,
"issue_class_android": "android.webkit.WebView",
"issue_details": [
{
"label": "className",
"value": "android.webkit.WebView",
"important": false
}
],
"issue_id_android": "ISSUE-001",
"issue_type": "GENERIC",
"show_issue_details_link": false
}
]
}
],
"bounding_boxes": {
"issue-44385-1": {
"serial_number": 1,
"x": 0,
"y": 15.292,
"height": 70.958,
"width": 100
}
}
}
]
}
-
success boolean
Whether the request was successful.
-
device object
▶ SHOW VALUESDevice information for the report.
-
model string
Device model name.
-
os string
Device operating system.
-
os_version string
Device OS version.
-
-
data array
▶ SHOW VALUESArray of scan snapshot results with accessibility findings.
-
meta object
▶ SHOW VALUESMetadata for the scan snapshot.
-
snapshot_id integer
Unique identifier for the snapshot.
-
screenshot_url string
Direct URL to the screenshot image.
-
no_unique_issues integer
Number of unique issues in this snapshot.
-
severity_count object
▶ SHOW VALUESNumber of issues by severity for this snapshot.
-
serious integer
Count of serious issues.
-
critical integer
Count of critical issues.
-
minor integer
Count of minor issues.
-
-
-
aggregated_results array
▶ SHOW VALUESAccessibility rule results aggregated for this snapshot.
-
rule_id string
Unique ID for the accessibility rule.
-
label string
Human-readable label for the rule.
-
description string
Description of the accessibility rule.
-
suggestion string
Suggested fix or improvement for the rule.
-
show_suggestion boolean
True if the suggestion should be shown to the user.
-
severity string
Severity level of the rule violation.
-
wcag_version string
WCAG version applicable to the rule.
-
wcag_level string
WCAG conformance level for the rule.
-
guidelines array
▶ SHOW VALUESList of WCAG guideline references for this rule.
-
version string
WCAG guideline version.
-
authority string
Guideline authority (e.g., WCAG).
-
level string
Guideline conformance level.
-
success_criteria_version string
Success criteria version for the guideline.
-
url string
URL to the guideline documentation.
-
message string
Human-readable message for the guideline.
-
-
learn_more_link string
URL to learn more about the rule.
-
is_experimental boolean
True if the rule is experimental.
-
rule_issues array
▶ SHOW VALUESList of individual issues found for this rule.
-
uid string
Unique ID for the rule issue.
-
rule_dynamic_meta object
▶ SHOW VALUESDynamic metadata for the rule issue, such as accessibility labels.
-
ai_result boolean
Whether the issue was detected by AI.
-
ai_suggested_label string
AI generated Accessibility label suggestion.
-
accessibility_label string
Accessibility label for the issue.
-
accessibility_label_key array
Keys for the accessibility label.
-
framework string
The framework used to conduct the test.
-
session_start_date string
The start date of the test session.
-
ai_remediation_status string
The AI remediation status for the issue.
-
-
serial_number integer
Serial number of the issue in the snapshot.
-
issue_class_android string
Android class name for the issue, if applicable.
-
issue_details array
▶ SHOW VALUESList of details about the issue.
-
label string
Label for the issue detail.
-
value string
Value for the issue detail.
-
important boolean
True if this detail is important.
-
-
how_to_fix_desc string
Description of how to fix the issue.
-
issue_id_android string
Android-specific issue ID, if applicable.
-
issue_type string
Type of the issue (e.g., GENERIC).
-
show_issue_details_link boolean
True if a link to issue details should be shown.
-
duplication_count integer
Number of duplicate instances of this issue.
-
-
-
bounding_boxes object
▶ SHOW VALUESBounding box coordinates for issues in the snapshot.
-
issue_uid object
▶ SHOW VALUESBounding box for a specific issue (use the actual issue UID as the key in real data).
-
serial_number integer
Serial number of the issue.
-
x number
X coordinate.
-
y number
Y coordinate.
-
height number
Height of the bounding box.
-
width number
Width of the bounding box.
-
-
-
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.