🚀 Heads up: Our API Docs Have Moved!
We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.
We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.
Accessibility Course Scans API
Get latest accessibility course scan AccessibilityCourseScansController#show
GET /api/v1/users/:user_id/educator_accessibility_course_scan
Scope:
Returns the most recent bulk accessibility scan Progress for this user,
whether it's still in progress or already finished -- null if the user
has never triggered a scan. Unlike the trigger endpoint, this never
starts a scan; it's safe to call just to check status (e.g. on page
load, to resume showing an in-progress scan or to know when the last
one finished).
When a scan completes, `results` contains `total` (the number of
courses queued for scanning), `failed_count` (how many of those
failed) and `not_queued_count` (courses that could not be queued, for
example because they exceed the per-course scan limit). Courses over
the per-user scan cap are not counted. The same keys are kept when a
scan fails because every queued course failed or it timed out.
Requires the educator_dashboard feature flag on the root account and
a11y_checker_account_statistics on site admin.
url:GET|/api/v1/users/:user_id/educator_accessibility_course_scan
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| user_id | Required | string | The ID of the user, or "self" for the current user. The requesting user may only view their own scan status. |
Trigger accessibility course scan AccessibilityCourseScansController#create
POST /api/v1/users/:user_id/educator_accessibility_course_scan
Scope:
Queues a background job that scans all a11y-enabled, published courses
where the user has a teacher or designer enrollment that is active or
invited. Use activity_states[] and published to change which courses are
scanned. Idempotent — if a scan is already queued or running, the
existing Progress is returned, whatever filters this request passed.
When the scan completes, `results` contains `total`, `failed_count`
and `not_queued_count` (see the show endpoint).
Requires the educator_dashboard feature flag on the root account and
a11y_checker_account_statistics on site admin.
url:POST|/api/v1/users/:user_id/educator_accessibility_course_scan
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| user_id | Required | string | The ID of the user, or "self" for the current user. The requesting user may only trigger a scan for themselves. |
| activity_states[] | string |
Only scan courses where the user's enrollment is in one of the given
date-aware activity states. Defaults to active and invited_or_pending.
Returns 400 if any value is not one of the listed states.
Allowed values: |
|
| published | boolean | true to scan published courses, false to scan unpublished courses. Defaults to true. |