Submit your first accessibility scan and get a pass/fail result in under 5 minutes.
Sign in to the dashboard, go to Settings → API Keys, and click Create key. Copy the key — it is shown only once.
Keys have the prefix ar_live_. Store them in your CI secret store, never in source code.
POST to /v1/ci/scans with your URL. The response includes a status_url to poll.
curl -X POST https://api.a11yrisk.eu/v1/ci/scans \
-H "X-API-Key: ar_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"max_pages": 5,
"min_score": 80
}'HTTP 202 response — scan is queued:
{
"scan_id": "c3d4e5f6-...",
"status": "queued",
"status_url": "/v1/ci/scans/c3d4e5f6-...",
"pages_requested": 5,
"pages_reserved": 5
}GET the status_url every 5–10 seconds until you receive HTTP 200 (passed) or 422 (failed). HTTP 202 means still running.
curl https://api.a11yrisk.eu/v1/ci/scans/c3d4e5f6-... \ -H "X-API-Key: ar_live_YOUR_KEY"
HTTP 200 — done and passed:
{
"scan_id": "c3d4e5f6-...",
"status": "done",
"score": 94.2,
"violations_count": 3,
"violations_critical": 0,
"violations_serious": 1,
"violations_moderate": 2,
"violations_minor": 0,
"passed": true,
"message": null
}HTTP 422 — threshold failed:
{
"score": 72.1,
"passed": false,
"message": "Score 72.1 is below minimum 80.0"
}Once the scan is done, fetch a pre-signed URL to the PDF report. The URL expires in 60 minutes.
curl https://api.a11yrisk.eu/v1/scans/c3d4e5f6-.../report \
-H "X-API-Key: ar_live_YOUR_KEY"
# Response: { "url": "https://...", "expires_in": 3600 }
# Then download: curl -L "https://..." -o report.pdf