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/:issueKeyThe 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.
Example
Section titled “Example”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 } ] }}Response fields
Section titled “Response fields”All the fields from List issues, plus:
| Field | Type | Description |
|---|---|---|
source | string | axe (automated scan), ai_deep_audit (AI deep audit), or manual. |
siteName | string | The owning site’s display name. |
representative | object | null | The canonical example occurrence; null if no finding is retained. |
representative.ruleHelpUrl | string | null | Deque University (or TAC) help page for the rule. |
representative.failureSummary | string | null | axe-core’s explanation of what failed. |
representative.htmlSnippet | string | null | The failing element’s outer HTML. |
representative.selector | string | CSS selector for the failing element. |
representative.pageUrl | string | null | Page the representative occurrence was seen on. |
affectedPages[] | array | Pages the issue appeared on in the most recent scan that saw it. |
Errors
Section titled “Errors”| Code | When |
|---|---|
NOT_FOUND | No issue with that key in your account. |
SITE_SCOPE_MISMATCH | The issue belongs to a site the token can’t see. |