Skip to content

Get an issue

Returns one issue with everything needed to reproduce and fix it: the representative finding (selector, HTML snippet, failure summary, rule help URL) and the list of affected pages.

GET /api/v1/issues/:issueKey

The issue’s site is resolved server-side, so site-locked tokens can call this without knowing the site id — a mismatch returns 403 SITE_SCOPE_MISMATCH.

Terminal window
curl https://app.theaccessibility.company/api/v1/issues/TAC-142 \
-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",
"source": "axe",
"occurrenceCount": 8,
"affectedPageCount": 3,
"priorityScore": 87,
"siteId": "site_a1b2c",
"siteName": "Marketing site",
"firstSeenAtMs": 1745837200000,
"lastSeenAtMs": 1746442000000,
"selectorPattern": "img.hero",
"standardsTags": ["wcag2a", "wcag2aa", "wcag21aa"],
"representative": {
"ruleHelpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt",
"failureSummary": "Fix any of the following: Element does not have an alt attribute…",
"htmlSnippet": "<img src=\"/hero.jpg\" class=\"hero\">",
"selector": "img.hero",
"impact": "critical",
"pageUrl": "https://example.com/"
},
"affectedPages": [
{
"url": "https://example.com/",
"occurrenceCount": 4,
"firstObservedAtMs": 1745837200000,
"lastObservedAtMs": 1746442000000
}
]
}
}

All the fields from List issues, plus:

FieldTypeDescription
sourcestringaxe (automated scan), ai_deep_audit (AI deep audit), or manual.
siteNamestringThe owning site’s display name.
representativeobject | nullThe canonical example occurrence; null if no finding is retained.
representative.ruleHelpUrlstring | nullDeque University (or TAC) help page for the rule.
representative.failureSummarystring | nullaxe-core’s explanation of what failed.
representative.htmlSnippetstring | nullThe failing element’s outer HTML.
representative.selectorstringCSS selector for the failing element.
representative.pageUrlstring | nullPage the representative occurrence was seen on.
affectedPages[]arrayPages the issue appeared on in the most recent scan that saw it.
CodeWhen
NOT_FOUNDNo issue with that key in your account.
SITE_SCOPE_MISMATCHThe issue belongs to a site the token can’t see.