Skip to Content
APIEndpointsResolve technical issue

Resolve technical issue

Mark one page’s occurrence of a technical issue resolved, or reopen it. Scoped to a single row from Get technical issue’s data[], not the whole issue group — resolving one affected page never touches the group’s other pages. A manual resolve sticks until the issue is re-detected on that page by a future audit or discover run, which reopens it automatically.

PATCH /brands/{brand_id}/technical/issue-pages/{page_issue_id}

Authorization

HeaderTypeRequired
AuthorizationBearer asky_sk_…required
Idempotency-Keystringrequired on every write. See Idempotency

Path parameters

ParameterTypeRequiredDescription
brand_iduuidrequiredFrom List brands
page_issue_iduuidrequiredOne row’s id from Get technical issue’s data[]

Body parameters

ParameterTypeRequiredDescription
resolvedbooleanoptionaltrue to resolve (default), false to reopen

Request

curl --request PATCH \ --url 'https://api.askylabs.com/v1/brands/242546de-4cee-4a7d-952e-f6aa60c63ef8/technical/issue-pages/bcb9c8a7-563e-47e9-90de-7f9b41348f8b' \ --header 'Authorization: Bearer <api-key>' \ --header 'Idempotency-Key: 5b0e77d2-13a9-4f6a-8ce1-9a3f5e21c0aa' \ --header 'Content-Type: application/json' \ --data '{"resolved": true}'

Response

{ "data": { "page_issue_id": "bcb9c8a7-563e-47e9-90de-7f9b41348f8b", "resolved": true }, "request_id": "req_5b0e77d213a94f6a8ce1" }

Response fields

FieldTypeDescription
data.page_issue_iduuidrequired
data.resolvedbooleanrequired. The state it was set to
request_idstringrequired. Also returned as the x-request-id header. Quote it when contacting support

Errors

StatusCodeWhen
400invalid_requestA parameter is unknown or malformed
401invalid_tokenThe key is missing, malformed, or does not exist
401token_expiredThe key passed its expiry date
401token_revokedThe key was revoked
403insufficient_scopeThe key does not carry write:website
403plan_requiredThis workspace is not enabled for API writes
404not_foundpage_issue_id does not exist for this brand, or this key is not allowed to reach it
429rate_limitedOver 60 requests per minute on write endpoints

Notes

This is per-occurrence, not per-group. List technical issues and Get technical issue work at the group level — one row per issue type (e.g. “Links with no anchor text”), affecting many pages. This endpoint resolves exactly one of those affected pages, identified by the id field on its row in data[]. Resolving every page in a group individually is the only way to clear the whole group through this endpoint; there is no bulk resolve-by-group action.

A resolve does not stick past the next detection. If a future audit or discover run re-detects the same issue on the same page, it reopens automatically — resolved_at is cleared and auto_resolved is set. This mirrors what “Mark as resolved” does in the app: it is a statement that the page is fixed right now, not a permanent suppression.

Last updated on