Skip to content

List issues

Returns the site’s issues sorted by priority (highest first), scoped to the site’s primary standard — the same list the dashboard shows.

GET /api/v1/sites/:siteId/issues
ParameterTypeDefaultDescription
statusstringopen_activeOne of open_active (open + triaged + in progress + reopened), all, open, triaged, in_progress, fixed_pending_verification, verified, ignored, reopened, auto_closed_page_removed.
impactstringExact match: minor, moderate, serious, or critical.
ruleIdstringExact axe-core rule id, e.g. image-alt.
limitnumber25Page size, 1–100.
offsetnumber0Rows to skip.
Terminal window
curl "https://app.theaccessibility.company/api/v1/sites/site_a1b2c/issues?impact=critical&limit=1" \
-H "Authorization: Bearer tac_mcp_..."
{
"data": [
{
"issueKey": "TAC-142",
"title": "Images must have alternative text",
"status": "open",
"primaryImpact": "critical",
"ruleId": "image-alt",
"ruleDescription": "Ensure <img> elements have alternative text or a role of none or presentation",
"findingType": "violation",
"occurrenceCount": 8,
"affectedPageCount": 3,
"priorityScore": 87,
"siteId": "site_a1b2c",
"firstSeenAtMs": 1745837200000,
"lastSeenAtMs": 1746442000000,
"selectorPattern": "img.hero",
"standardsTags": ["wcag2a", "wcag2aa", "wcag21aa"]
}
],
"pagination": { "limit": 1, "offset": 0, "total": 2 }
}

A shell gate:

Terminal window
total=$(curl -s "https://app.theaccessibility.company/api/v1/sites/$SITE_ID/issues?impact=critical&limit=1" \
-H "Authorization: Bearer $TAC_TOKEN" | jq '.pagination.total')
if [ "$total" -gt 0 ]; then
echo "Blocking deploy: $total critical accessibility issue(s) open"
exit 1
fi
FieldTypeDescription
issueKeystringStable human-readable key (e.g. TAC-142) — use with GET /issues/:issueKey.
titlestringIssue title.
statusstringCurrent lifecycle status.
primaryImpactstringminor / moderate / serious / critical.
ruleIdstringaxe-core rule id (or a TAC check id for AI-sourced issues).
ruleDescriptionstring | nullRule help text.
findingTypestringviolation or incomplete.
occurrenceCountnumberTotal occurrences across pages.
affectedPageCountnumberDistinct pages the issue appears on.
priorityScorenumberTAC’s severity × reach ranking (higher = fix first).
firstSeenAtMs / lastSeenAtMsnumberUnix ms timestamps.
selectorPatternstring | nullNormalised CSS selector shared by occurrences.
standardsTagsstring[]axe tags snapshotted at scan time (e.g. wcag2aa).
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.