Accessibility Audit Service
API Contract
REST
/api/v1/accessibility-audits
6 endpoints
GET
/api/v1/accessibility-audits/api/v1/accessibility-audits
List all accessibility audit runs with status and summary
Public
Response Example
{
"data": [
{
"id": "audit-001",
"scope": "screen",
"route_name": "PatientDashboard",
"status": "completed",
"issue_count": 3,
"created_at": "2026-03-26T08:00:00Z"
},
{
"id": "audit-002",
"scope": "full_app",
"route_name": null,
"status": "in_progress",
"issue_count": null,
"created_at": "2026-03-26T10:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/accessibility-audits/api/v1/accessibility-audits/:id
Get full details of a specific audit run including all issues
Public
Response Example
{
"id": "audit-001",
"scope": "screen",
"route_name": "PatientDashboard",
"status": "completed",
"issue_count": 3,
"issues": [
{
"issue_id": "iss-01",
"severity": "critical",
"wcag_criterion": "1.3.1",
"description": "Button lacks accessible name",
"widget_key": "submit-btn-001"
},
{
"issue_id": "iss-02",
"severity": "warning",
"wcag_criterion": "1.4.3",
"description": "Text contrast ratio 3.2:1 below 4.5:1 threshold",
"widget_key": "label-secondary-info"
}
],
"created_at": "2026-03-26T08:00:00Z",
"completed_at": "2026-03-26T08:00:45Z"
}
POST
/api/v1/accessibility-audits/api/v1/accessibility-audits
Start a new accessibility audit (screen or full-app scope)
Public
Request Example
{
"scope": "screen",
"route_name": "MedicalRecordsView",
"enable_debug_overlay": false
}
Response Example
{
"id": "audit-003",
"scope": "screen",
"route_name": "MedicalRecordsView",
"status": "in_progress",
"issue_count": null,
"enable_debug_overlay": false,
"created_at": "2026-03-26T11:30:00Z"
}
PUT
/api/v1/accessibility-audits/api/v1/accessibility-audits/:id
Update audit configuration (e.g. toggle debug overlay) on a pending audit
Public
Request Example
{
"enable_debug_overlay": true
}
Response Example
{
"id": "audit-003",
"scope": "screen",
"route_name": "MedicalRecordsView",
"status": "in_progress",
"enable_debug_overlay": true,
"created_at": "2026-03-26T11:30:00Z",
"updated_at": "2026-03-26T11:31:00Z"
}
DELETE
/api/v1/accessibility-audits/api/v1/accessibility-audits/:id
Delete an accessibility audit record and associated issues
Public
Response Example
{
"message": "Audit audit-003 and associated results deleted"
}
GET
/api/v1/accessibility-audits/api/v1/accessibility-audits/:id/report
Retrieve the formatted accessibility report for a completed audit
Public
Response Example
{
"audit_id": "audit-001",
"route_name": "PatientDashboard",
"generated_at": "2026-03-26T08:01:00Z",
"summary": {
"total_issues": 3,
"critical": 1,
"warning": 2,
"passed_criteria": 18
},
"wcag_level": "AA",
"compliant": false,
"recommendations": [
"Add aria-label to all interactive icon buttons",
"Increase contrast for secondary text labels to 4.5:1"
]
}