Skip to Content
APIEndpointsGet technical issue

Get technical issue

One technical-issue type in full: what it is, why it matters, how to fix it, and every page it currently affects, each with its specific evidence (which images, links, etc. triggered it). Get issue_id from List technical issues.

GET /brands/{brand_id}/technical/issues/{issue_id}

Authorization

HeaderTypeRequired
AuthorizationBearer asky_sk_…required

Path parameters

ParameterTypeRequiredDescription
brand_iduuidrequiredFrom List brands
issue_iduuidrequiredFrom List technical issues

Query parameters

ParameterTypeRequiredDescription
limitintegeroptionalAffected pages per page, 1 to 100. Defaults to 20.
cursorstringoptionalOpaque cursor from the previous response. Treat it as a token, never construct one.

Request

curl --request GET \ --url 'https://api.askylabs.com/v1/brands/242546de-4cee-4a7d-952e-f6aa60c63ef8/technical/issues/7b3f9c1a-4e6d-4a2b-8c5f-1d9a3b6e7f42?limit=20' \ --header 'Authorization: Bearer <api-key>'

Response

{ "data": [ { "url": "https://example.com/", "title": "Example Co | Home", "evidence": [ "https://example.com/images/hero-1.jpg", "https://example.com/images/hero-2.jpg", "https://example.com/images/logo-partner-a.png", "https://example.com/images/logo-partner-b.png" ] } ], "pagination": { "limit": 20, "has_more": false, "next_cursor": null }, "meta": { "id": "7b3f9c1a-4e6d-4a2b-8c5f-1d9a3b6e7f42", "name": "Images with empty alt text", "category": "images", "issue_type": "error", "severity": "high", "description": "One or more images on the page have an `alt` attribute with no text in it (`alt=\"\"`, or only spaces) and nothing marking them as decorative. An empty alt tells screen readers to skip the image. That is right for decoration, but it hides content when the image shows something visitors need, such as a chart, a product photo or a logo that links somewhere.\n\nVisitors using a screen reader miss whatever the image conveys, and a link whose only content is such an image is left without a name. Meaningful images without a text alternative fail WCAG success criterion [1.1.1 Non-text Content](https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html) (Level A), and since June 2025 the European Accessibility Act requires many businesses selling to consumers online in the EU to meet it. Google [uses alt text](https://developers.google.com/search/docs/appearance/google-images) to understand images, and an empty one gives it nothing.", "docs_url": "https://docs.askylabs.com/opportunities/technical/issues/images/missing-alt-text" }, "request_id": "req_4e8c1a3f7b2d46f0ba9c" }

Response fields

FieldTypeDescription
dataarrayrequired. Every page currently affected, newest-detected first
data[].urlstring | null
data[].titlestring | null
data[].evidencestring[]required. The specific elements that triggered this issue on this page (image URLs, link URLs, etc). Empty when the issue is page-level rather than element-level
pagination.limitintegerrequired
pagination.has_morebooleanrequired
pagination.next_cursorstring | nullPass as cursor to get the next page. null once has_more is false
meta.iduuidrequired
meta.namestring | null
meta.categorystring | nulle.g. images, links, url, meta_description
meta.issue_typestringrequired. One of critical, error, warning, opportunity
meta.severitystringrequired. One of high, medium, low
meta.descriptionstring | nullWhat the issue is and why it matters, in markdown: the first two sections of its page in the issue reference
meta.docs_urlstring | nullThe issue’s page in the issue reference: what it is, how Asky checks it and how to fix it
request_idstringrequired. Also returned as the x-request-id header. Quote it when contacting support

Errors

StatusCodeWhen
400invalid_requestA parameter is unknown or malformed. The message names it
401invalid_tokenThe key is missing, malformed, or does not exist
401token_expiredThe key passed its expiry date
401token_revokedThe key was revoked
404not_foundThe brand does not exist, the issue does not currently affect any of this brand’s pages, or this key is not allowed to reach either. All three are deliberately indistinguishable
429rate_limitedOver 300 requests per minute. See the Retry-After header

Notes

evidence shape varies by issue type. Element-level issues (missing alt text, broken links) list the specific offending URLs. Page-level issues (a slow page, a missing meta description) have no discrete elements to list and return an empty array: the page itself is the finding.

meta describes the whole issue group, not the current page of data. meta.severity and meta.issue_type are the same representative values List technical issues shows for this id, picked across every affected page and not just the ones on this response, so they stay constant no matter which page of data you’re on.

A 404 here can mean the issue was fixed. Once every affected page is resolved, the group no longer exists; poll List technical issues rather than retrying this id indefinitely. An out-of-range cursor on an otherwise-real group returns an empty data page, not a 404.

Last updated on