Skip to content

List scans

Returns the site’s scan history, newest first, with the raw counts each scan produced. Useful for trend charts and “when did we last scan?” checks.

GET /api/v1/sites/:siteId/scans
ParameterTypeDefaultDescription
limitnumber25Page size, 1–100.
offsetnumber0Rows to skip.
Terminal window
curl "https://app.theaccessibility.company/api/v1/sites/site_a1b2c/scans?limit=2" \
-H "Authorization: Bearer tac_mcp_..."
{
"data": [
{
"id": "run_9x8y7",
"status": "completed",
"scopeType": "full_site",
"triggerType": "scheduled",
"totalTargets": 128,
"failedTargets": 1,
"violationCount": 42,
"incompleteCount": 7,
"passCount": 3180,
"startedAtMs": 1746441000000,
"finishedAtMs": 1746442000000,
"createdAtMs": 1746440900000
}
],
"pagination": { "limit": 2, "offset": 0, "total": 57 }
}
FieldTypeDescription
idstringScan run id.
statusstringqueued, running, completed, completed_with_errors, failed, or cancelled.
scopeTypestringfull_site or single_page.
triggerTypestringmanual, scheduled, webhook, api, or verification.
totalTargetsnumberPages queued for the scan.
failedTargetsnumberPages that could not be scanned.
violationCountnumberDefinite failures found across all pages.
incompleteCountnumberChecks needing human review.
passCountnumberChecks that passed.
startedAtMs / finishedAtMsnumber | nullUnix ms; null while pending/running.
createdAtMsnumberWhen the run was created.
CodeWhen
INVALID_INPUTA query parameter failed validation.
NOT_FOUNDThe site doesn’t exist in your account.
SITE_SCOPE_MISMATCHThe token is locked to a different site.