SEO

List site health issues

The pages failing each check in the latest audit, with the detail, whether Vidrys can fix it, and whether each issue is new, persistent or newly checked.

GEThttps://api.vidrys.com/v1/projects/{project_id}/seo/site-health/issues
Plan
Track and above
Key
read
Rate cost
1 unit

Authorization

Sent as a header on every request.

Authorizationstringrequired

A Vidrys API key, sent as Bearer vidrys_sk_…. A read key is enough. See Authentication.

Path parameters

project_idstringrequired

The project's id, from List projects.

Query parameters

fix_eligiblebooleandefault false

Only the issues Vidrys can propose a fix for.

pageintegerdefault 1

Page number, from 1.

page_sizeintegerdefault 50

Rows per page, 1–100.

Response · 200

application/json

issuesobject[]

One row per failing check on one page.

+Show child attributes
idstring

Issue id.

urlstring

The page.

check_idstring

The check that failed.

severitystring

How much it matters.

Values:criticalhighmediumlow

detail_jsonstring

What was found, as a JSON document — a reason and the values behind it.

summarystring

What was found, in a line: 68 characters, over 60: “…”.

fix_eligibleboolean

Whether Vidrys can propose a fix for it: only a title, meta description or canonical tag the page has none of.

fix_notestringnullable

On a field Vidrys does write, why this issue is still yours. Null otherwise.

fix_idstringnullable

The fix Vidrys proposed for this page's field, as List SEO fixes lists it. Null when there is none.

fix_statusstringnullable

Where that fix stands. Null when there is none.

Values:proposedapproveddeployingdeployedverifiedunverifiedfailedrolling_backrolled_backdismissed

changestringnullable

Against the previous audit. Null when there is none.

Values:newpersistentnewly_checked

pageobject

Where these rows sit in the full list.

+Show child attributes
pageinteger

This page's number, from 1.

page_sizeinteger

Rows per page.

totalinteger

Rows across every page.

Errors

403 plan_feature_unavailableThe feature is on a higher plan. Bulk exports and webhooks are Custom-only.
404 not_foundThe project or item doesn't exist in this workspace. A project from another workspace also returns 404, never 403.
422 invalid_requestA parameter or body field is missing or has the wrong type or value. The message names the field. Also returned when a write would pass the plan's prompt limit.
401 unauthorizedNo key was sent, or the key is unknown, revoked or expired, or the member who created it has left the workspace or been deactivated.
402 plan_requiredThe workspace's plan doesn't include API access. It's included on every plan from Track up — Solo is the one without it.
403 workspace_not_approvedThe workspace is still waiting for approval, or wasn't approved.
429 rate_limitedToo many requests this minute. Wait for the number of seconds in the `Retry-After` header, then retry.

Every code, and what to retry, is in Errors.