Every request to the Asva AI API must be authenticated. Authentication uses API keys issued per workspace — there are no per-user keys, no OAuth flows, and no session cookies. You pass your key as aDocumentation Index
Fetch the complete documentation index at: https://docs.asva-ai.com/llms.txt
Use this file to discover all available pages before exploring further.
Bearer token in the Authorization header on every request. The API validates the key, checks your rate limit, and then processes your request.
Get an API key
API keys are issued per workspace. To get yours:- Visit asva-ai.com/get-help and book a call
- Or email hello@asva-ai.com with the subject line “API Access”
asva_live_...
Pass your API key
Include your key as aBearer token in the Authorization header on every request:
Base URL
All API endpoints use:dry_run: true in the request body — the API returns a valid response using cached data without re-fetching or writing anything.
Error responses
| Status | Error code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key |
403 | forbidden | API key is valid but lacks permission for this resource |
429 | rate_limited | Too many requests — see rate limits below |
Rate limits
| Endpoint | Limit |
|---|---|
POST /api/audit | 60 requests / hour |
POST /api/manifest | 100 requests / hour |
POST /api/report | 1,000 requests / hour |
X-RateLimit-Reset is a Unix timestamp. Wait until that time before retrying after a 429. If you are running batch jobs (for example, auditing multiple client domains), spread requests across the hour rather than bursting all at once.
SDK
TypeScript and Python SDKs are in development. Until they are available, use the REST API directly with the examples above.Next steps
Readiness API
Run a readiness audit against any domain.
Manifest API
Generate and validate UCP manifests.
Attribution API
Log events and pull attribution data.