VisualQ

Test endpoints

Dashboard session APIs to trigger individual quality pillar runs.

These endpoints require you to be signed in to VisualQ (same session as the dashboard) unless noted. For CI and automation, use the CI REST API with API keys instead.

Common request body

Most pillar endpoints accept:

FieldTypeRequiredDescription
projectstringYesProject ID or slug
scenariosstring[]NoFilter to scenario labels; omit for all
browsersstring[]Nochromium, firefox, webkit
environmentstringNoEnvironment name or slug

Typical success response (202-style async):

{
  "success": true,
  "message": "<pillar> audit started for my-project",
  "project": "my-project",
  "runId": "run_abc123"
}

Poll status via CI status (GET /api/ci/status/{runId}) or dashboard Activity.

Pillar endpoints

EndpointRun typeDescription
POST /api/tests/testvrt-testVisual regression comparison
POST /api/tests/referencebaselineCapture new baselines
POST /api/tests/a11ya11y-testAccessibility (axe-core)
POST /api/tests/perfperf-testPerformance / Web Vitals
POST /api/tests/seoseo-testSEO checks
POST /api/tests/securitysecurity-testSecurity headers / CVE (plan-dependent)
POST /api/tests/analyticstracking-testAnalytics / tracking audit
POST /api/tests/full-suiteaudit batchAll unlocked pillars for scenario(s)

Full audit batch

POST /api/tests/full-suite fans out to every pillar unlocked by the org plan. Optional pillars array restricts which pillars run (must be unlocked).

{
  "project": "my-project",
  "scenarios": ["Homepage"],
  "environment": "staging",
  "pillars": ["visual", "functional", "a11y", "perf", "seo", "security", "tracking", "privacy"]
}

Project-wide equivalent: POST /api/quality-score/full-audit (documented in Run tests).

Approval and recompare

POST /api/tests/approve

Promote failed VRT results to baselines. Supports API key auth (X-API-Key) with mcp_full scope.

FieldTypeRequiredDescription
projectstringYesProject ID or slug
runIdstringNoDefaults to latest run
scenarios / scenarioLabelsstring[]YesLabels to approve
viewportsstring[]NoFilter viewports
browsersstring[]NoFilter browsers
environmentstringNoEnvironment slug

POST /api/tests/recompare

Re-run pixel comparison for an existing run without recapturing screenshots (when source artifacts exist).

Latest run status

GET /api/tests/status/{project}?environmentId=…

Returns the most recent run for the project (optionally filtered by environment): runId, status, type, startTime, summary counts.

Plan gates

Pillar sub-features (Lighthouse perf/SEO, CVE scanning, a11y budgets) depend on plan — see Plan limits. Endpoints accept the request; locked sub-features are skipped or downgraded automatically.

On this page