REST API
Use the API to list sites, start scans, read results and update issue status. Pro and Agency plans.
Authentication
Create a key under Settings → API and integrations. It is shown once. Send it as a bearer token:
Authorization: Bearer ab_live_…Choose what a key may do when you create it:
| Scope | Allows |
|---|---|
| read | List sites and scans, read scans, issue groups and prompts. |
| scan | Start scans. Each uses one manual scan of your plan. |
| write | Mark issues as won't fix, false positive, needs manual check or open. |
Limits: 120 requests per minute per key. If the workspace leaves the Pro or Agency plan, its keys answer 402 upgrade_required.
Endpoints
| Method and path | Scope | What |
|---|---|---|
| GET /api/v1/sites | read | Sites with their latest score |
| GET /api/v1/sites/{id}/scans | read | Recent scans, newest first |
| POST /api/v1/sites/{id}/scans | scan | Start a scan; answers 201 with the scanId |
| GET /api/v1/scans/{id} | read | Status, score, counts and change since the last scan |
| GET /api/v1/scans/{id}/issues?locale=en|de | read | Issue groups with fix steps, WCAG criteria, fingerprints and prompts |
| GET /api/v1/scans/{id}/prompt?pattern=&flavour= | read | A prompt for one group, or for the whole site without pattern |
| PATCH /api/v1/sites/{id}/issues | write | Body: fingerprints, state and an optional note |
Example
curl -s https://accessibilitybrief.com/api/v1/sites \
-H "Authorization: Bearer $ACCESSIBILITYBRIEF_API_KEY"Errors look like { "error": "code" } with a matching status: unauthorized 401, upgrade_required 402, insufficient_scope 403, not_found 404, scan_in_progress 409, not_ready 409, monthly_limit 429, rate_limited 429.
The full machine-readable description (OpenAPI 3.1) is at /api/v1/openapi.json.
Still stuck? Write to us and we will help. Contact support