Authentication
Session-based auth and GitHub OAuth.
The Ablebase API is a JSON REST API. All resource endpoints are versioned under /v1. Authentication endpoints are served at /api/auth/* by Better Auth.
https://<your-domain>/v1All /v1 endpoints require an active session cookie obtained via the auth endpoints, with the sole exception of GET /v1/public-config. See Authentication for details.
application/json.200 OK with a JSON body, or 201 Created with a Location header pointing to the new resource.204 No Content (e.g. deletes).error object. See Errors below.Error responses have the following shape:
{ "error": { "code": "NOT_FOUND", "message": "Product not found" }}| Code | HTTP status | Meaning |
|---|---|---|
VALIDATION_ERROR |
400 | Request body or query parameter failed validation. |
UNAUTHORIZED |
401 | No valid session. |
FORBIDDEN |
403 | Authenticated but lacking the required role. |
NOT_FOUND |
404 | Resource does not exist. |
CONFLICT |
409 | Operation not allowed in the current state (e.g. creating in an archived product). |
INTERNAL_ERROR |
500 | Unexpected server error. |
| Scope | Limit |
|---|---|
| Global | 100 requests / minute |
| Sign-in | 5 attempts / 10 minutes |
| Sign-up | 3 attempts / hour |
| Password reset | 3 attempts / hour |
Exceeding a limit returns 429 Too Many Requests.
Authentication
Session-based auth and GitHub OAuth.
Products
Create and manage products.
Areas
Subdivide products into areas.
Audits
Run and track accessibility audits.
Testing
Log test activity, view the Testing feed, and ingest external scan reports.
Issues
Track and bulk-manage accessibility issues.
Standards
Manage standards, groups, and requirements.
Saved Views
Persist filter and sort state as named views.