> For the complete documentation index, see [llms.txt](https://developerdocs.instructure.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developerdocs.instructure.com/services/canvas/resources/accessibility_course_statistics.md).

# Accessibility Course Statistics

#### An AccessibilityCourseStatistic object looks like: <a href="#accessibilitycoursestatistic" id="accessibilitycoursestatistic"></a>

```js
// Per-course accessibility issue counts for a user's active teacher/designer
// courses.
{
  // The ID of the accessibility course statistic record
  "id": 1,
  // The ID of the course
  "course_id": 42,
  // The name of the course
  "course_name": "Introduction to Biology",
  // The course code (short name) of the course
  "course_code": "BIO101",
  // Whether the course is published
  "published": true,
  // The number of active accessibility issues in the course. Null until the first
  // calculation completes.
  "active_issue_count": 5,
  // The number of resolved accessibility issues in the course. Null until the
  // first calculation completes.
  "resolved_issue_count": 3,
  // The number of closed accessibility issues in the course
  "closed_issue_count": 2,
  // The workflow state of the statistic record
  "workflow_state": "active",
  // The date and time the record was created
  "created_at": "2026-01-01T00:00:00Z",
  // The date and time the record was last updated
  "updated_at": "2026-01-02T00:00:00Z"
}
```

## [List accessibility course statistics](#method.accessibility_course_statistics.index) <a href="#method.accessibility_course_statistics.index" id="method.accessibility_course_statistics.index"></a>

[AccessibilityCourseStatisticsController#index](https://github.com/instructure/canvas-lms/blob/master/app/controllers/accessibility_course_statistics_controller.rb)

#### `GET /api/v1/users/:user_id/educator_accessibility_course_statistics`

**Scope:** `url:GET|/api/v1/users/:user_id/educator_accessibility_course_statistics`

Returns per-course accessibility issue statistics for the current user's active teacher and designer courses. Only courses where the accessibility checker is enabled, that are not deleted, and that have not concluded (by workflow state or by course/term end date) are included. Only statistic records with workflow\_state "active", "queued" or "in\_progress" are returned. Queued and in\_progress records are being recalculated, and a record that has never been calculated has null issue counts.

Requires the educator\_dashboard feature flag to be enabled on the root account, and a11y\_checker\_account\_statistics on site admin plus a11y\_checker on the account (i.e. a11y\_checker\_account\_statistics? must be true).

The X-Total-Items response header contains the total number of matching courses across all pages.

#### Request Parameters:

| Parameter              | Type              | Description                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ---------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `user_id`              | Required `string` | <p>The ID of the user, or "self" for the current user.<br>The requesting user may only retrieve their own statistics.</p>                                                                                                                                                                                                                                                                                                            |
| `enrollment_term_id[]` | `string`          | <p>When present, only include courses that belong to the given enrollment<br>term(s). Accepts a single term id or an array<br>(enrollment\_term\_id\[]=1\&enrollment\_term\_id\[]=2), and each value may be a<br>term id or SIS term id. Returns 404 if any given term does not exist in<br>this account.</p>                                                                                                                        |
| `course_ids[]`         | `string`          | <p>When present, only include the given courses. Accepts a single course id<br>or an array (course\_ids\[]=1\&course\_ids\[]=2), and each value may be a<br>course id or SIS course id. Returns 404 if any given course is deleted or<br>does not exist in this account. A concluded course id is accepted but<br>won't appear in the results, the same as a course the caller doesn't<br>teach. Limited to 100 ids per request.</p> |
| `published`            | `boolean`         | <p>When present, filters by publish state: true for published courses,<br>false for unpublished courses. Omit to include both.</p>                                                                                                                                                                                                                                                                                                   |

Returns a list of [AccessibilityCourseStatistic](#accessibilitycoursestatistic) objects.

## [List accessibility course statistic terms](#method.accessibility_course_statistics.terms) <a href="#method.accessibility_course_statistics.terms" id="method.accessibility_course_statistics.terms"></a>

[AccessibilityCourseStatisticsController#terms](https://github.com/instructure/canvas-lms/blob/master/app/controllers/accessibility_course_statistics_controller.rb)

#### `GET /api/v1/users/:user_id/educator_accessibility_course_terms`

**Scope:** `url:GET|/api/v1/users/:user_id/educator_accessibility_course_terms`

Returns the distinct enrollment terms that the current user's active teacher and designer courses belong to -- the same courses reported by the List accessibility course statistics endpoint. Use this to populate a term filter for that endpoint. There is no "all terms" entry; "all terms" is represented by omitting the enrollment\_term\_id filter.

Requires the same account settings and feature flags as the statistics endpoint.

#### Request Parameters:

| Parameter | Type              | Description                                                                                                          |
| --------- | ----------------- | -------------------------------------------------------------------------------------------------------------------- |
| `user_id` | Required `string` | <p>The ID of the user, or "self" for the current user.<br>The requesting user may only retrieve their own terms.</p> |

Returns a list of [EnrollmentTerm](/services/canvas/resources/enrollment_terms.md#enrollmentterm) objects.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developerdocs.instructure.com/services/canvas/resources/accessibility_course_statistics.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
