Skip to content
NEWSADA Title II web deadlines: April 24, 2026 (50k+ pop) · April 26, 2027 (under 50k) — Is your site compliant?ADA Title II: April 2026 & 2027 deadlinesLearn more →

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/v1

Authentication

All API requests must include your tenant API key in the request header:

X-Api-Key: ang_live_YOUR_KEY
Important
Never expose your API key in client-side JavaScript or commit it to source control. API keys should only be used from server environments. For client-side widget embedding, use the <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

CodeMeaning
200 OKRequest succeeded
201 CreatedResource created
204 No ContentRequest succeeded, no body returned
400 Bad RequestValidation error — check request body
401 UnauthorizedMissing or invalid API key
403 ForbiddenValid key but operation not allowed (e.g. plan limit)
404 Not FoundResource does not exist
429 Too Many RequestsRate limit or AI quota exceeded
500 Internal Server ErrorUnexpected error — include traceId when contacting support

Rate limits

Rate limits are enforced per tenant per minute and vary by plan:

PlanAPI calls / minuteAI calls / minute
Free60—
Starter30010
Pro1,00050
EnterpriseCustomCustom

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.