REST API
The Angstroma REST API lets you manage user accessibility profiles, read analytics, trigger WCAG scans, and more — from any server-side environment.
Base URL
https://api.angstroma.com/api/v1Authentication
All API requests must include your tenant API key in the request header:
X-Api-Key: ang_live_YOUR_KEY<script> tag with data-key — the widget uses a read-only scoped token derived from your key.API keys are managed in the Angstroma Portal under API Keys. Each key is shown exactly once at creation — it cannot be retrieved again. If you lose a key, revoke it and create a new one.
Response format
All responses are JSON. Successful responses use HTTP 2xx status codes.
Error responses include an error message and a traceId for support:
{
"error": "Profile not found",
"traceId": "0HN1234567890:00000001"
}HTTP status codes
| Code | Meaning |
|---|---|
| 200 OK | Request succeeded |
| 201 Created | Resource created |
| 204 No Content | Request succeeded, no body returned |
| 400 Bad Request | Validation error — check request body |
| 401 Unauthorized | Missing or invalid API key |
| 403 Forbidden | Valid key but operation not allowed (e.g. plan limit) |
| 404 Not Found | Resource does not exist |
| 429 Too Many Requests | Rate limit or AI quota exceeded |
| 500 Internal Server Error | Unexpected error — include traceId when contacting support |
Rate limits
Rate limits are enforced per tenant per minute and vary by plan:
| Plan | API calls / minute | AI calls / minute |
|---|---|---|
| Free | 60 | — |
| Starter | 300 | 10 |
| Pro | 1,000 | 50 |
| Enterprise | Custom | Custom |
When you hit a rate limit, the API returns 429 Too Many Requests. Retry after the Retry-After header value (in seconds).
Versioning
The current API version is v1. Breaking changes will be introduced in new versions (v2, etc.) with a minimum 6-month deprecation notice. Non-breaking additions (new fields, new endpoints) may be added to v1 at any time.
Pagination
List endpoints accept page (default: 1) and pageSize (default: 50, max: 100) query parameters. Paginated responses include totalCount, page, pageSize, and totalPages.