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 — 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": "Images that have an alt attribute, but are missing alt text. Images should have descriptive alternative text about its purpose, which helps the blind and visually impaired, and the search engines understand it and its relevance to the web page.", "docs_url": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#alt" }, "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
meta.docs_urlstring | nullFurther reading on the underlying web standard, when one exists
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, 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