🚀 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.

Accessibility Course Scans API

Get latest accessibility course scan AccessibilityCourseScansController#show

GET /api/v1/users/:user_id/educator_accessibility_course_scan

Scope: url:GET|/api/v1/users/:user_id/educator_accessibility_course_scan
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.

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.
Returns a Progress object

Trigger accessibility course scan AccessibilityCourseScansController#create

POST /api/v1/users/:user_id/educator_accessibility_course_scan

Scope: url:POST|/api/v1/users/:user_id/educator_accessibility_course_scan
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.

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: active, invited_or_pending, completed, inactive

published boolean true to scan published courses, false to scan unpublished courses. Defaults to true.
Returns a Progress object