Quality gates for
every deployment.
Kuality's CI API blocks deployments the moment your site's accessibility score drops, a new high-severity vulnerability appears, or Core Web Vitals exceed your budget. One API call. Any CI/CD system. No agents to install.
No credit card · Free forever tier · REST API + GitHub Action
One API call. Any pipeline.
The gates endpoint returns HTTP 200 when your site passes and 422 when it fails — works with any CI/CD tool that checks exit codes.
REST API (curl)
curl -sf -X POST \
https://kuality.io/api/v1/gates/evaluate \
-H "Authorization: Bearer $KUALITY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"target": "https://staging.yoursite.com",
"scan_types": ["a11y", "webvitals", "headers"],
"score_threshold": 80,
"max_high": 0
}'
GitHub Actions
- name: Kuality quality gate
run: |
curl -sf -X POST \
${{ vars.KUALITY_API_URL }}/api/v1/gates/evaluate \
-H "Authorization: Bearer ${{ secrets.KUALITY_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{
"target":"${{ vars.STAGING_URL }}",
"scan_types":["a11y","webvitals"],
"max_high":0
}'
Gate on any quality dimension
Mix and match scan types in a single gate call — block only when the checks that matter to your team fail.
Accessibility gates
Block deploys when WCAG violations above a severity threshold are introduced. Zero-tolerance for critical violations is one flag.
Performance budgets
Set LCP, CLS, INP, and Lighthouse score thresholds. Fail the build the moment a slow image or render-blocking script lands.
Security headers
Gate on missing HSTS, weak CSP, or absent X-Frame-Options. Enforce your security baseline on every merge.
Dependency CVEs
Block when a new high-severity CVE is detected in a loaded npm package or CDN dependency.
Broken links
Fail when new 404s appear in the crawl — catch dead links before users or Google find them.
Uptime check
Confirm staging is responding before the gate evaluates — skip quality checks on a crashed deploy.
Free plan. No credit card. No agents to install.