List Broken Links pages

View as MarkdownOpen in Claude
Lists the source pages the Broken Links Checker found findings on, for one website, as a JSON:API collection of type `site-broken-link-pages` with the usual `links` / `meta` pagination. Resolved pages (the crawler no longer finds them) never appear. `filter[site]` is required: the listing is always scoped to one website, resolved before the policy check so a website out of reach reads as not found. `filter[category]`/`filter[severity]`/`filter[location]` feed the per-page `by_category`/`by_severity` counters rather than filtering out pages. A muted (ignored) page stays listed: ignoring it detaches every finding from it, so it appears with every counter at `0`. It shows both in the unfiltered listing and with `filter[ignored]=1`; `filter[ignored]=0` hides it. Each entry carries `source_url`, `source_title`, `source_type` (the WordPress content type), `issues_count`, `by_category`, `by_severity`, `ignored_at` and `last_scanned_at`. Websites of other organizations - and members without the read permission - answer 404; an unknown filter answers 400 and an invalid value 422. A read-only token is enough. See "Bulk ignore Broken Links pages" to mute or restore pages - ignoring one detaches its findings until the next scan.

Authentication

AuthorizationBearer

Personal access token created in the Modular DS dashboard; read-only tokens can only call GET endpoints.

Query parameters

filter[site]stringOptional
Required. Exact website id
filter[category]stringOptional

broken_link | mixed_content - feeds the per-page counters, not a subset filter

filter[severity]stringOptional

error | warning | info - feeds the per-page counters, not a subset filter

filter[location]stringOptional

internal | external - feeds the per-page counters, not a subset filter

filter[ignored]stringOptional

1|0 - 1 = only muted pages (every counter answers 0); 0 = hides muted pages; omit to include both

filter[issues]stringOptional

Only the pages still attached to this site-broken-link-issues id

filter[s]stringOptional

Free-text search over source_url

sortstringOptional

issues_count (default, descending), source_url, last_scanned_at; prefix with - to invert

page[number]stringOptional
page[size]stringOptional
Max 50

Response

200 - Broken Links pages

datalist of objectsOptional
jsonapiobjectOptional
metaobjectOptional

Errors

422
Unprocessable Entity Error