---
title: "A11Y Report"
method: GET
path: "/v1/projects/{project_id}/a11y-report"
tags: ["reports"]
---

# A11Y Report

`GET /v1/projects/{project_id}/a11y-report`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/projects/{project_id}/a11y-report`
- Auth: none declared

WCAG-oriented a11y gap report. By default a11y_untranslated (translation
coverage of a source variant) is segregated out of the totals into
untranslated_count (task 1345/AC1); set include_untranslated=true for the legacy view.

## Path parameters

- `project_id` string, required

## Query parameters

- `version_id` string, nullable
- `require_surface` string[], nullable: a11y surfaces to flag as ABSENT in the source (e.g. aria_label)
- `reading_level_max_words` integer
- `include_untranslated` boolean: include a11y_untranslated (translation coverage) in totals/items; default segregates it into untranslated_count

## Response `200`

Successful Response

- A11yReportOut
  - `project_uuid` string, required
  - `version_uuid` string, nullable, required
  - `keys_scanned` integer, required
  - `total_gaps` integer, required
  - `by_gap` object, required
  - `by_severity` object, required
  - `by_surface` object, required
  - `items` A11yGapItem[], required
    - `key_uuid` string, required
    - `key_name` string, required
    - `namespace_slug` string, required
    - `key_type` string
    - `source_value` string, nullable
    - `surface` string, required
    - `locale` string, nullable
    - `gap` string, required
    - `severity` string, required
    - `detail` string, required
  - `untranslated_count` integer
  - `actionable_key_count` integer

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sonenta/apis/sonenta-api.md) · [All operations](https://skmtc.dev/sonenta/apis/sonenta-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sonenta/apis/sonenta-api/revisions/f853ea49fb05?raw)
