Integrate the Level Access Public API to interact with platform functionalities. This API, documented using Swagger, allows for seamless integration with automated scans, workspace management, and user data.
Note: You must generate and save the API token (API key). Refer to Create an API token to use Level Access API.
On this page:
Purpose of our accessibility API
Note: Can’t find this feature? Contact your Customer Success Manager for more information.
The platform API is designed to increase accessibility testing flexibility, increase organization efficiency, and open up new integration opportunities for teams.
The API is designed to allow developers and other technical users to trigger scans within the platform without requiring them to login and use the traditional application interface. Any results from scans triggered in the application by the API will be stored in the designated digital asset for later review.
If you would like to learn more about the platform API, request support.
Access your organization
To access your organization’s API documentation via Swagger:
- Go to Swagger.
- Enter your organization's API URL. For example, https://<your-organization>.hub.essentia11y.com/api/v1/swagger
- Select Explore.
API Capabilities
The API enables several key functionalities for accessibility testing and management:
Push raw results
Push raw results to the platform by sending accessibility test results programmatically, teams can streamline data submission and enhance workflow automation.
Run automated scans
Run automated scans using the API to facilitate continuous monitoring of digital assets for accessibility issues without manual intervention. This capability is key for integrating accessibility checks into CI/CD pipelines.
Get rules definition
Retrieve rules definitions via a comprehensive list of accessibility rules for various tools through the API. This ensures that developers are always working with up-to-date standards and can tailor their testing accordingly.
Get scan info
Pull detailed information and results from past scans. This helps track progress over time and allows easy reporting of accessibility compliance.
Endpoint:
/api/v1/public/digital-properties/{digitalPropertyId}/scans/{scanId}/scan-results
The scannedPages array includes enriched details for deeper page-level analysis.
The fields include:
| Field | Type | Description |
|---|---|---|
| url | string | The URL of the scanned page |
| pageTitle | string | The title of the scanned page |
| pageScore | number | A numerical score of the page |
| resolved | number | Number of flaws present in the previous scan but missing in the current one |
| findings | object | A breakdown of findings by severity |
Findings object details:
| Field | Type | Description |
|---|---|---|
| critical | number | Count of critical findings |
| high | number | Count of high findings |
| low | number | Count of low findings |
Get a paginated list of common findings for the organization
Retrieves a paginated list of common findings for the organization, scoped to the digital assets (also known as digital properties) that the API key has access to.
Endpoint:
https://cors.redoc.ly/api/v1/public/common-findings
The following table lists the query parameters and their meaning:
| Field | Type | Description |
|---|---|---|
| tool | string | Testing tool to return common findings for.
Defaults to access-engine.
(PublicCommonFindingsTool) Example: tool=access-engine
|
| digitalPropertyIds | Array of strings | A list of digital asset ids to filter findings by. Ids are intersected with the digital assets the API key can access. When omitted, findings for all accessible digital assets are returned. [ items^[0-9a-fA-F]{24}$] |
| sortBy | string | Field to sort by. Enum: "findingId" "element" "title" "severity" "totalFindings" "totalPages" "totalDigitalProperties" |
| page | string | Page number, starting at 1. Defaults to 1. Example: page=1 |
| pageSize | string | Number of findings per page. Defaults to 25. Enum: "25" "50" "100"
Example: pageSize=25
|
Get the details of a single common finding by its finding id
Retrieves the details of a single common finding by its finding id, including the rule description, remediation guidance, why it matters, HTML tag, CSS classes, and the related WCAG success criteria.
Endpoint:
/api/v1/public/common-findings/{commonFindingId}
The following table lists the required parameters and their meaning:
| Field | Type | Description |
|---|---|---|
|
commonFindingId |
string |
Path parameter. Required.
The finding id of the common finding.
Example: CF-1133.
|
| x-auth-token | string | Header parameter. Required. API key. Example: 0fdaebad-867c-48f3-8b6e-0eabedde9638 |
Get digital asset metrics
Retrieves digital asset metrics including the risk score and the following finding data:
- All findings
- Resolved findings
- Percentage resolved
- Unresolved findings by severity
- Default policy overdue findings by severity
- User policy overdue findings by severity
Get workspace data
The API provides access to workspace data, including digital assets and associated tags. This supports better organization and classification of the assets being evaluated for accessibility.
Get user data
Developers can retrieve and manage user data through the API, making it easier to control permissions and roles within the platform.
Endpoints
Filter scan resutls by tag ID
Filter scan results by tag ID when retrieving scans for
a digital property.
Use the tagId query parameter to return
only scans that match
a specific tag. If no tagId is provided,
the API returns scans
without applying tag filtering.
Endpoint
GET /api/v1/public/digital-properties/{digitalPropertyId}/scans
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
tagId
|
string
|
No | Filters scan results to only include scans with a matching tag ID. |
Behavior
When you provide a valid tagId, the response
includes only scans
that match the tag ID.
When you provide a tagId that does not exist
or does not match
any scans, the response returns an empty array.
When you do not provide a tagId, no tag
filtering is applied.
Add manual findings
Retrieve manual findings across all completed evaluations for a digital property.
This endpoint returns findings from evaluations with a
completed status only. In-progress evaluations are always excluded.
Endpoint
GET /api/v1/public/digital-properties/{digitalPropertyId}/manual-findings
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
severities
|
string[]
|
No |
Filters findings by severity, such as critical,
high, or low. Supports multiple values.
|
statuses
|
string[]
|
No |
Filters findings by QA status, such as open,
fixed, or dismissed.
|
fields
|
string[]
|
No |
Includes optional fields in the response. Supported values include
element, issueDescription,
whatToDo, reasonForImportance, and
successCriteria.
|
page
|
number
|
No |
Sets the 1-based page number. Defaults to 1.
|
limit
|
number
|
No |
Sets the number of results per page. Defaults to 100.
Maximum value is 1000.
|
Response
The response includes a findings array and a total
count. Optional fields are included only when requested with the
fields query parameter.
Status codes
| Status | Description |
|---|---|
200
|
The request completed successfully. |
401
|
The API key is missing or invalid. |
403
|
The API key does not have Manual_Evaluations_API_Read_DP
permission for the requested digital property.
|
404
|
The digital property was not found. |
422
|
A query parameter value is invalid. |